2015-09-26 1 views
3

Как установить, скажем, цвет текста на UILabel, к цвету, определенной в одном из моих классов, таких как:Набор UIColor в раскадровке с переменной/постоянная

func mainAppColor() -> UIColor { 
    return UIColor(red: 0.2, green: 0.3, blue: 0.4, alpha: 1) 
} 

или

let mainAppColor = UIColor(red: 0.2, green: 0.3, blue: 0.4, alpha: 1) 

в раскадровке.

ответ

1

Если метод объявлен в другом классе, как:

class TextColorClass { 

    func mainAppColor() -> UIColor { 
     return UIColor(red: 0.2, green: 0.3, blue: 0.4, alpha: 1) 
    } 
} 

Затем вы можете использовать его с помощью сделать экземпляр этого класса таким образом:

let classInstance = TextColorClass() 
yourLBL.textColor = classInstance.mainAppColor() 

Если он объявлен как:

class TextColorClass { 

    let mainAppColor = UIColor(red: 0.2, green: 0.3, blue: 0.4, alpha: 1) 
} 

Затем вы можете использовать его как:

let classInstance = TextColorClass() 
yourLBL.textColor = classInstance.mainAppColor 

Если этот способ объявить в одном классе предположим в ViewController классе, то вы можете использовать его таким образом:

override func viewDidLoad() { 
    super.viewDidLoad() 

    yourLBL.textColor = mainAppColor() 
} 

func mainAppColor() -> UIColor { 
    return UIColor(red: 0.2, green: 0.3, blue: 0.4, alpha: 1) 
} 

UPDATE:

Если вы хотите установить любое свойство из видеоредактора вы может использовать @IBInspectable, как показано ниже, код примера:

import UIKit 

@IBDesignable 
class PushButtonView: UIButton { 

    @IBInspectable var fillColor: UIColor = UIColor.greenColor() 
    @IBInspectable var isAddButton: Bool = true 

    override func drawRect(rect: CGRect) { 


    } 

} 

И присвоить этот класс к вашему button.like, показанный на рисунке ниже:

enter image description here

И если вы идете к атрибуту инспектора вы можете увидеть настраиваемое свойство для этой кнопки.

enter image description here

Теперь вы можете установить его в соответствии с вашими потребностями.

Для получения дополнительной информации см этого учебника:

http://www.raywenderlich.com/90690/modern-core-graphics-with-swift-part-1

+1

И самый очевидный способ сделать что-то подобное было бы объявить его как статические, что делает его значение класса, так что вы не необходимо создать экземпляр для его использования. 'static let mainColor = ...', а затем просто TextColorClass.mainColor .. –

+0

Спасибо за ваше предложение .. :) @DavidBerry –

+3

Но это не использование раскадровки ... Я знаю, как установить свойство в коде, просто не в раскадровке с использованием констант. –

Смежные вопросы