ラベル UISegmentedControl の投稿を表示しています。 すべての投稿を表示
ラベル UISegmentedControl の投稿を表示しています。 すべての投稿を表示

2014年3月7日金曜日

segmentedControlStyle でワーニングが出る

[[self _segmentedControl] setSegmentedControlStyle:UISegmentedControlStyleBar]; 
こんな指定をしているとiOS7から以下の様なワーニングが表示されます。
'UISegmentedControlStyleBar' is deprecated: first deprecated in iOS 7.0 - The segmentedControlStyle property no longer has any effect
ワーニング内容からもわかるように、 segmentedControlStyleにはもう何の効果も無いようです。

廃止されてしまいました。

代替のプロパティも無いようです。

iOS7専用アプリの場合は、指定を消してしまってかまわないようです。

2013年4月25日木曜日

UISegmentedControl の文字が小さい









この画像を見て、UIControlSegmented内の文字列は大きいと感じますか?小さいと感じますか?
私は小さいと感じますので、デフォルトの文字サイズから変更したいと思います。

ですが、UIControlSegmented には各アイテムの文字サイズを変更するメソッドは用意されていません。
しかし、各アイテムの文字の設定を変更するメソッドは用意されています。


- (void)setTitleTextAttributes:(NSDictionary *)attributes forState:(UIControlState)state;

(iOS5からですね。)


今回は試しにフォントサイズを16で太字に変更してみましょう。
UISegmentedControl *monthSegmented = [[UISegmentedControl alloc] initWithFrame:CGRectMake(8, 4, 304, 32)];
[monthSegmented setTitleTextAttributes:@{ UITextAttributeFont:[UIFont boldSystemFontOfSize:16],   } forState:UIControlStateNormal];









見やすくはなったのでは無いでしょうか?

どの様な項目が変更できるかは UIStringDrawing.h に記述されています。

UIKIT_EXTERN NSString *const UITextAttributeFont;             // フォント
UIKIT_EXTERN NSString *const UITextAttributeTextColor;        // 文字色
UIKIT_EXTERN NSString *const UITextAttributeTextShadowColor;  // 文字影色
UIKIT_EXTERN NSString *const UITextAttributeTextShadowOffset; // 文字影幅
一通りはいじれるようですね。