0

*tmpltLeftオブジェクトとの 2 つのボタンがあります*tmpltRight。アプリを起動すると、tmpltLeft最初は前のボタン ( ) が非表示になり、次のボタン ( ) をtmpltRight押すと前のボタン ( tmpltLeft) が表示され、次のボタン ( tmpltRight) が 20 ページ (最後のページ) に達したときに表示されます。次のボタン( tmpltRight)を非表示にしたい。

私は.hファイルにあります

IBOutlet UIButton *tmpltLeft, *tmpltRight;

.m ファイル内

-(IBAction)templateNavigationBtnTapped:(UIButton*)sender {
UIButton *button=sender;
switch (button.tag) {
    case 1:
        NSLog(@"prev btn tapped");
        if (pageNo>1) {
            pageNo--;
        }    
        break;
    case 2:
        NSLog(@"next btn tapped");
        if (pageNo<18) {
           pageNo++;
       }
     break;
     default:
     break;
}
4

4 に答える 4

2

最初のセット[tmpltLeft setHidden:YES];イン-viewDidLoad

 -(IBAction)templateNavigationBtnTapped:(UIButton*)sender {
    UIButton *button=sender;
    switch (button.tag) {
        case 1:
            NSLog(@"prev btn tapped");
            if (pageNo>1) {
                [tmpltRight setHidden:NO];
                pageNo--;
                if (pageNo == 1)
                {
                     [tmpltLeft setHidden:YES];
                }
            }    
            break;
        case 2:
            NSLog(@"next btn tapped");
            [tmpltLeft setHidden:NO];
            if (pageNo<18) {
               pageNo++;
               if (pageNo == 18)
               {
                    [tmpltRight setHidden:YES];
               }
           }
         break;
         default:
         break;
    }

実装されていませんが、アイデアを得るためにここに書いてください...

于 2013-03-13T09:56:29.000 に答える
0

ページ番号を確認して、ボタンを非表示にすることができます。あなたのコードに従って:

-(IBAction)templateNavigationBtnTapped:(UIButton*)sender {
    UIButton *button=sender;
    switch (button.tag) {
    case 1:
        NSLog(@"prev btn tapped");
        tmpltRight.hidden = NO; // for the next button in the last-1 page to be displayed if the page number is less than max number of pages. 
        if (pageNo>1) {
            pageNo--;
        } 
        else if (pageNo == 0)
           tmpltLeft.hidden = YES;
        break;
    case 2:
        NSLog(@"next btn tapped");
        tmpltLeft.hidden = NO; //for the previous button to be displayed when the page number is greater than 0.
        if (pageNo<18) {
           pageNo++;
        }
        else if (pageNo == 19)
            tmpltRight.hidden = YES;
        break;
    default:
        break;
   }

コードはテストされていませんが、それが一般的な考え方です。

于 2013-03-13T09:56:43.130 に答える
0
   switch(button.tag) { case 1:
        NSLog(@"prev btn tapped");
        if (pageNo>1 || (tmpltLeft.hidden=TRUE)) {
            tmpltRight.hidden=FALSE;
            pageNo--;
            if(pageNo==1)
            tmpltLeft.hidden=TRUE;
           }
        break;
    case 2:
        NSLog(@"next btn tapped");

        if (pageNo<18 || (tmpltRight.hidden=TRUE)) {
            tmpltLeft.hidden=FALSE;
            pageNo++;
            if(pageNo==18)
                tmpltRight.hidden=TRUE;
        }
        break;
        default:
        break;
}

最初は tmpltLeft ボタンは非表示になっています

  • (void)viewDidLoad {

// テンプレート ナビゲーション ボタン

tmpltLeft.hidden=TRUE;

}

于 2013-03-14T13:32:10.487 に答える
0
- (void)viewDidLoad{
    [super viewDidLoad];
    BtnCount = 0;
    previosButton.enabled = FALSE;
}
-(IBAction)previosButtonPressed:(id)sender{
    BtnCount= BtnCount-1;
    if(BtnCount==0){
        previosButton.enabled=FALSE;
    }
    if(BtnCount<19){
        nextButton.enabled= TRUE;
    }
}
-(IBAction)nextButtonPressed:(id)sender{
    previosButton.enabled = TRUE;
    BtnCount = BtnCount+1;
    if(BtnCount==19)
    {
        nextButton.enabled = FALSE;
    }   
}
于 2013-03-13T10:14:41.107 に答える