2013-04-24 1 views
0

Я создаю customView и, например, хотел бы установить цвет текста метки и инициализировать текст метки.Настройка свойств элементов в пользовательском представлении в iOS

initWithFrame - это общая функция.

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
     // Initialization code 
    } 
    return self; 
} 

Я попытался инициализировать ярлык в initWithFrame, но он не работает. Но когда я делаю это в awakeFromNib, это позволяет мне установить цвет текста, но не текст (это значение приходит из словаря)

-(void)awakeFromNib 
{ 
    //setting of the label textcolor 
} 

Что бы правильный способ инициализировать цвет и текст этикетки и другие вещи?

нужны некоторые предложения и рекомендации ...

Edit:

-(void)viewDidLoad 
{ 
    [self updateViewWithDictionary:dictPassed]; 
} 

Что-то вроде этого?

ответ

1

Что я делаю в некотором проекте является разоблачить публичный метод как так:

- (void)updateViewWithDictionary:(NSDictionary *)confDictionary; 

В этом словаре я передаю параметры, которые я хочу, и внутри UIView's подвида я обновляю его в соответствии с тем, что я хочу.

Edit 1:

Читайте неправильно ваш вопрос, извините. У вас есть обычай UIView, который вы хотите обновить, когда начнется ваш UIViewController или когда вы его действительно используете. Таким образом, вы должны иметь что-то вроде этого:

@interface MyView : UIView 
{ 

} 

- (void)updateViewWithDictionary:(NSDictionary *)confDictionary; 

@end 

и с вашего viewDidLoad:

-(void)viewDidLoad 
{ 
    [self.customView updateViewWithDictionary:dictPassed]; 
} 
+0

подтаблицы UIView в -> может объяснить немного больше об этом .. Было бы хорошо, если бы вы могли бы поделиться пример. .. – lakesh

+0

'@interface MyLabelSuperAwesome: UILabel'. Итак, 'UILabel' наследует от' UIView', может быть, я должен был бы сказать 'UILabel' подзаголовок. – Peres

+0

updateViewWithDictionary, куда идет эта функция? – lakesh