disableにする

コピー機の設定画面ではよく設定同士の排他制御をします.ようするに一緒に設定できない設定を,事前に設定させないようにするというものです.設定させないようにするために,該当するボタンを押せないようにします.

今回はUISegmentedControlを使ったので,セグメントごとの押下を無効にしたいと思います.IB上にはenableのチェックボックスがあるので,おそらく関数から設定可能なのでしょう.そこでヘルプからクラスリファレンスをみてみました.


ざっとObjective-Cの記述方法は読んでいたのですが,やっぱり理解できていないことが判明.もういちどiPhoneSDKプログラミング大全を見直してようやく引数の使い方を理解.引数1にはラベルが無いのね.不思議.あとBOOLの設定がTRUE/FALSEじゃなくてYES/NOっていうのも変わってる.

最終的に以下のような記述で上手くいきました.

[dpisegmentField setEnabled:NO forSegmentAtIndex:3];

とりあえずif-elseで全部記載.これでなんちゃって排他制御が出来るようになりました!

でもdisableのときの表示が微妙.テキストがちょっと太くなって微妙に薄くなってるぐらい.ここも変えられないみたい?でした.
以下は[A3]がdisableになっているのですが,見えないですね.