メールアプリのUISegmentedControlに似たUISegmentedControlを取得して、UIToolbarボタンと同じ色にする方法(両方のセグメントが選択された状態にあるかのように)。
セグメント化されたコントロールをメールとまったく同じ目的で使用したいと思います。
(iPadの場合、青色ではなく灰色)
メールアプリのUISegmentedControlに似たUISegmentedControlを取得して、UIToolbarボタンと同じ色にする方法(両方のセグメントが選択された状態にあるかのように)。
セグメント化されたコントロールをメールとまったく同じ目的で使用したいと思います。
(iPadの場合、青色ではなく灰色)
これはAppleのサンプルコードからのコードです...NavBarとコードで使用されている両方の画像..メールアプリとまったく同じビューを取得できるはずです。
// "Segmented" control to the right
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:
[NSArray arrayWithObjects:
[UIImage imageNamed:@"up.png"],
[UIImage imageNamed:@"down.png"],
nil]];
[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
segmentedControl.frame = CGRectMake(0, 0, 90, 30);
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.momentary = YES;
defaultTintColor = [segmentedControl.tintColor retain]; // keep track of this for later
UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
[segmentedControl release];
self.navigationItem.rightBarButtonItem = segmentBarItem;
[segmentBarItem release];
あなたは財産を求めtintColor
ます!
あなたが使うとき、UISegmentedControl
あなたはその色合いの色をあなたが夢見ることができるどんな色にも変えることができます。したがって、Interface BuilderでUISegmentedControlを追加した場合は、- (void)viewWillAppear:(BOOL)animated
メソッドでそのようにスタイルを設定します(@synthesized ivarに接続していると仮定します:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// Set the tintColor to match the navigation bar
self.mySegmentedControl.tintColor = [UIColor colorWithRed:.94 green:.94 blue:.94 alpha:1];
... do whatever else in your viewWillAppear ...
}
これで、上記のサンプルコードに入れた赤、緑、青、アルファを試してみたいと思うでしょうが、UISegmentedControllerを文字通り好きな色に着色することができます(または、好きなだけ透明にすることができます)。 )、つまり、自分にぴったりのRGBA値を見つけるだけです。
Appleのドキュメントによるとthe default value of this property is nil (no color). UISegmentedControl uses this property only if the style of the segmented control is UISegmentedControlStyleBar.
幸運を!
私はあなたが何を意味するのか正確にはわかりませんが、segmentedControlStyleとしての「UISegmentedControlStyleBar」がそうかもしれないと信じています。
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar
このプロパティはIBでも設定できます。(これは「スタイル」と呼ばれるプロパティです)
私が探しているスタイルは文書化されていません:それはスタイル4です。彼はここでアップ/ダウンコントロールしているようです:http://media.mobilemeandering.com/wp-content/uploads/2010/04/ipad-mail-message -2.png (私の画像ではありません)
基本的にすべてのセグメントが選択されたように見え、瞬間的なプッシュを目的としており、事実上、複数のツールバーボタンが一緒に押し上げられます。したがって、IBで設定することはできませんが、コードで設定するか、nibをテキストファイルとして開いてnib/xibファイルで手動で設定する必要があります。
あなたが何をしようとしているのか正確にはわかりませんが、試してみます。
解決策は明らかではありません。一致するUISearchBarとUISegmentedControlを取得するには、 UISearchDisplayControllerを使用する必要があります。
例については、 TableSearchのサンプルコードを参照してください。