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を作成し、ラベルのフォントサイズ、色、およびその他の属性を設定できます。

このメソッドは、AppleのUIPickerViewクラスリファレンスで説明されています

これがお役に立てば幸いです。

于 2011-07-13T02:50:10.733 に答える
0

iOS 6 では、NSAttributedStrings を使用してタイトル テキストをカスタマイズできるようになりました (ただし、これでテキストを簡単に中央に配置できるとは思いません)。

新しい UIPickerViewDelegate メソッドを使用すると、単純な通常の文字列ではなく、属性付きの文字列を返すことができます。

(NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(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 に答える