2010-06-11 27 views
8

Bu UIButton hakkında her şey, üzerinde olması gereken metin dışında harika sonuçlar verir. NSLog, metnin doğru yerde olduğunu gösterir. Ne verir?Bu UIButton neden metin etiketini göstermiyor?

UIButton *newTagButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[newTagButton addTarget:self action:@selector(showNewTagField) forControlEvents:UIControlEventTouchUpInside]; 
newTagButton.titleLabel.text = @"+ New Tag"; 
NSLog(@"Just set button label to %@", newTagButton.titleLabel.text); 
newTagButton.titleLabel.font = [UIFont systemFontOfSize:17]; 
newTagButton.titleLabel.textColor = [UIColor redColor]; 
CGSize addtextsize = [newTagButton.titleLabel.text sizeWithFont:[UIFont systemFontOfSize:17]]; 
CGSize buttonsize = { (addtextsize.width + 20), (addtextsize.height * 1.2) }; 
newTagButton.frame = CGRectMake(x, y, buttonsize.width, buttonsize.height); 
[self.mainView addSubview:newTagButton]; 

cevap

20

bu özellikleri değiştirmek için kullanılması gereken UIButton API'larla bir dizi vardır.

titleLabel

ve içten UIButton tarafından değiştirilecektir olabilir.

[button setTitle:title forState:state]; 
[button setTitleColor:color forState:state]; 
[button setTitleShadowColor:color forState:state]; 

Bu özellikleri, doğrudan titleLabel öğesine dokunmak yerine bu yöntemlerle (kullanılabilir olduğunda) her zaman ayarlamanız gerekir. Yazı tipleri için, UIButton üzerinde bir yöntem sağlamadıkları için titleLabel üzerinde değiştirebilirsiniz.

+0

Bingo. Teşekkür ederim! –

İlgili konular