我试图集中并改变UIPicker中文本的大小,但我不确定如何......我认为这可能发生在其中一种方法中,很可能是第一种......
- (NSString*)pickerView:(UIPickerView*)pv titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [[NSString stringWithFormat:@"%x",row ] uppercaseString]; //Sets picker options as an Uppercase Hex value
}
#pragma mark UIPickerViewDataSource methods
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pv
{
return 5; //5 columns in the picker
}
- (NSInteger)pickerView:(UIPickerView*)pv numberOfRowsInComponent:(NSInteger)component
{
return 16;
}
任何人都知道如何做到这一点?我环顾四周,但文档相当薄......
答案 0 :(得分:2)
约翰,
与表视图一样,您无法更改通常在titleForRow委托方法中设置的默认标题的字体属性,而是必须使用以下方法:
- (UIView *)viewForRow:(NSInteger)row forComponent:(NSInteger)component
在这里,您可以创建一个带有自定义UILabel的UIView,并设置Label的字体大小,颜色和其他属性。
此方法在Apple's UIPickerView Class Reference
中描述希望这对你有帮助!
答案 1 :(得分:0)
现在使用iOS 6,您可以使用NSAttributedStrings来自定义标题文本(尽管我认为这不会让您轻松地将文本居中)。
新的UIPickerViewDelegate方法允许您返回属性字符串而不是普通的字母字符串:
(NSAttributedString *)pickerView:(UIPickerView *)pickerView attributesTitleForRow:(NSInteger)row forComponent:(NSInteger)component
NSAttributedString UIKit adds页面包含您可以控制的所有角色属性的列表: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/NSAttributedString_UIKit_Additions/Reference/Reference.html#//apple_ref/doc/uid/TP40011688