いくつかの選択可能なオプションを含む UISegmentedControl が必要ですが、選択できない情報ボタンも含めます。UISegmentedControl クラスのリファレンスでは、一時的な開示ボタンの使用について説明しており、それが可能であることをほのめかしていますが、そのようなことを行う方法を説明するヘッダー ファイルには他に何もありません。
では、どうすればこれを行うことができますか?
いくつかの選択可能なオプションを含む UISegmentedControl が必要ですが、選択できない情報ボタンも含めます。UISegmentedControl クラスのリファレンスでは、一時的な開示ボタンの使用について説明しており、それが可能であることをほのめかしていますが、そのようなことを行う方法を説明するヘッダー ファイルには他に何もありません。
では、どうすればこれを行うことができますか?
多くの実験の後、選択したインデックスにシャドウ変数を保持すると、これが可能になることがわかりました。次のコードでは、情報ボタンが 1 で、他のボタンは選択可能です。viewDidLoad
初期値を設定します (または、選択したインデックスをコントロールに問い合わせます) 。次に、アクション メソッドに次のコードを使用します。
- (IBAction)segmentAction:(UISegmentedControl *)sender
{
NSUInteger idx = [sender selectedSegmentIndex];
switch(idx) {
case 1: // momentary button
sender.selectedSegmentIndex = selectedIndex;
break;
default:
selectedIndex = idx;
// other stuff
break;
}
...
基本的に、選択したインデックスをリセットするだけです。iOS7のみでテスト済み。