我希望我可以清楚地问这个问题,我有一个viewController我以编程方式构建(不是用NIB),这个视图控制器有两个按钮,我在视图的下半部分绘制
“prev”和“next”我想做的是,当我到达“结束”时,我只想画“prev”按钮,而不是“下一个”,而不是-versa,当我刚开始的时候,我只想画“下一个”而不是上一个。
关于如何处理此事的任何一般性想法?
谢谢,
UBA
答案 0 :(得分: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;
}
答案 1 :(得分:1)
首先要做的是为你的按钮添加目标以听取触摸事件
[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.
}