0

この質問を明確にできることを願っています。プログラムで(NIBではなく)ビルドしたviewControllerがあります。このView Controllerには、ビューの下部に描画する2つのボタンがあります

「前へ」と「次へ」でやりたいことは、「最後」に到達したら、「次へ」ではなく「前へ」ボタンだけを描画したいということです。逆もまた同様です。私が最初にいるときは、前ではなく「次」だけを描きたいと思います。

これにアプローチする方法に関する一般的なアイデアはありますか?

ありがとう、

ウバ

4

2 に答える 2

1

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;
}
于 2012-08-23T00:03:08.933 に答える
1

最初に行うことは、ボタンがタッチイベントをリッスンするように 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.
     }
于 2012-08-23T00:03:49.680 に答える