2014-06-09 23 views
35

Có cách nào để đặt màu nền UIView bằng Swift không?Màu nền UIView trong Swift

Tôi biết rằng trong Mục tiêu-C, bạn sẽ sử dụng self.view.backgroundColor = [UIColor redColor];, nhưng điều đó không hoạt động theo cùng một cách trong Swift. Tôi đã xem xét xung quanh và bởi vì Swift chỉ khoảng một tuần tuổi, tôi không thể tìm thấy câu trả lời.

Có ai có bất kỳ đề xuất nào không?

+9

Bạn đang bào chữa. ;-) Tôi tìm thấy câu trả lời cho câu hỏi này vào ngày đầu tiên. Đây là cách tôi tìm thấy nó: Trong Xcode, trong trình soạn thảo mã của bạn viết 'UIColor', sau đó giữ phím command và bấm vào từ' UIColor'. Bạn sẽ nhảy ngay vào "tiêu đề", nơi bạn sẽ tìm thấy tất cả các chức năng có sẵn. –

Trả lời

92
self.view.backgroundColor = UIColor.redColor() 

Trong Swift 3:

self.view.backgroundColor = UIColor.red 
+3

Tôi có thể sử dụng hệ thập lục phân như thế nào? –

+1

@Igor Ronner UIColor (màu đỏ: 0xFF/0xFF, màu xanh lá cây: 0x00/0xFF, màu xanh: 0x00/0xFF, alpha: 0xFF/0xFF) –

15

Bạn có thể sử dụng dòng dưới đây mà đi vào một kết thúc (viewDidLoad, didLayOutSubViews, vv):

self.view.backgroundColor = .redColor() 

EDIT Swift 3:

view.backgroundColor = .red 
12

Tôi thấy rằng câu hỏi này được giải quyết, nhưng, tôi muốn thêm một số thông tin hơn có thể giúp ai đó.

nếu bạn muốn sử dụng hex để thiết lập màu nền, tôi thấy chức năng này và làm việc:

func UIColorFromHex(rgbValue:UInt32, alpha:Double=1.0)->UIColor { 
    let red = CGFloat((rgbValue & 0xFF0000) >> 16)/256.0 
    let green = CGFloat((rgbValue & 0xFF00) >> 8)/256.0 
    let blue = CGFloat(rgbValue & 0xFF)/256.0 

    return UIColor(red:red, green:green, blue:blue, alpha:CGFloat(alpha)) 
} 

tôi sử dụng chức năng này như sau:

view.backgroundColor = UIColorFromHex(0x323232,alpha: 1) 

một số lần bạn phải sử dụng self:

self.view.backgroundColor = UIColorFromHex(0x323232,alpha: 1) 

Vâng đó là nó, tôi hy vọng nó sẽ giúp ai đó.

xin lỗi vì tiếng anh xấu của tôi.

tác phẩm này trên iOS 7.1+

2

Bạn có thể sử dụng tiện ích mở rộng này làm phương án thay thế nếu bạn đang xử lý giá trị RGB.

extension UIColor { 
    static func rgb(red: CGFloat, green: CGFloat, blue: CGFloat) -> UIColor { 
     return UIColor(red: red/255, green: green/255, blue: blue/255, alpha: 1) 
     } 
    } 
Các vấn đề liên quan