この質問を明確にできることを願っています。プログラムで(NIBではなく)ビルドしたviewControllerがあります。このView Controllerには、ビューの下部に描画する2つのボタンがあります
「前へ」と「次へ」でやりたいことは、「最後」に到達したら、「次へ」ではなく「前へ」ボタンだけを描画したいということです。逆もまた同様です。私が最初にいるときは、前ではなく「次」だけを描きたいと思います。
これにアプローチする方法に関する一般的なアイデアはありますか?
ありがとう、
ウバ
UIButton の「非表示」プロパティを使用できます。
if (page == firstPage) {
self.myButtonPrev.hidden = YES;
} else {
self.myButtonPrev.hidden = NO;
}
if (page == lastPage) {
self.myButtonNext.hidden = YES;
} else {
self.myButtonNext.hidden = NO;
}
最初に行うことは、ボタンがタッチイベントをリッスンするように addTarget することです
[yourButtonNameHere addTarget:self action:@selector(yourCallBackFunctionNameHere:) forControlEvents:UIControlEventTouchUpInside];
これが行うことは、ボタンが押されるたびに yourCallBackFunctionNameHere 関数を呼び出すことです。他のボタンにもこれを行います。関数の後のセミコロンは、イベントを発生させた UIElement の情報を関数が送信する必要があることを示します。
両方のボタンにタグを割り当てます。
youButtonNameHere.tag=yourTag;
関数で、タグを比較してどのボタンが UIcontrolEvent を送信しているかを確認します
- (void)yourFunctionNameHere:(id)sender {
UIButton *yourButton =(UIButton *)sender;
if(yourButton.tag==501){
// logic to check if this is the first or last page and act accordingly
yourButton.hidden = YES / NO based on what you want to do.
}else{
// logic to do otherwise.
}