仅在页码为零时隐藏上一个按钮,仅在页码为20时隐藏下一个按钮

时间:2013-03-13 09:45:50

标签: iphone ios button hide conditional-statements

我有两个对象*tmpltLeft*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 个答案:

答案 0 :(得分: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;
    }

未实施,但写在这里是为了得到一些想法......

答案 1 :(得分: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;
   }

代码未经过测试,但这是一般的想法。

答案 2 :(得分: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;
    }   
}

答案 3 :(得分: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;

}