2

我正在尝试在 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;
}

有人知道如何做到这一点吗?我环顾四周,但文档相当薄......

4

2 回答 2

2

约翰斯,

与表格视图一样,您不能更改通常在 titleForRow 委托方法中设置的默认标题的字体属性,而必须使用以下方法:

- (UIView *)viewForRow:(NSInteger)row forComponent:(NSInteger)component

在这里,您可以创建一个带有自定义 UILabel 的 UIView 并设置 Label 的字体大小、颜色和其他属性。

此方法在Apple 的 UIPickerView 类参考中有所描述

希望这对你有帮助!

于 2011-07-13T02:50:10.733 回答
0

现在在 iOS 6 中,您可以使用 NSAttributedStrings 自定义标题文本(尽管我不认为这可以让您轻松地将文本居中)。

一个新的 UIPickerViewDelegate 方法可以让你返回一个属性字符串而不是一个普通的普通字符串:

(NSAttributedString *)pickerView:(UIPickerView *)pickerView attributesTitleForRow:(NSInteger)row forComponent:(NSInteger)component

NSAttributedString UIKit 添加页面列出了您可以控制的所有字符属性:http: //developer.apple.com/library/ios/#documentation/UIKit/Reference/NSAttributedString_UIKit_Additions/Reference/Reference.html#//apple_ref/文档/uid/TP40011688

于 2013-05-26T00:38:39.690 回答