- (void)viewDidLoad {
[self addMyButton]; // Call add button method on view load
}
- (void)addMyButton { // Method for creating button, with background image and other properties
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(aMethod)forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Show More" forState:UIControlStateNormal];
button.frame = CGRectMake(80.0, 500.0, 160.0, 40.0);
[self.view addSubview:button];
}
- (void)aMethod {
NSLog(@"in load more n===>>>%d",n);
[tbl reloadData];
}
有一个NSMutableArray
包含三十个对象。首先只显示十个对象,点击“显示更多”对象后,将显示更多对象。按钮将显示20个对象,并且在按钮上再次单击后,应显示30个对象,按钮标题将变为“返回”。当我点击'返回'然后表视图应该只显示20个对象。在下一次单击后,应显示十个元素。
答案 0 :(得分:1)
-(void) aMethod{
if(n==2)
{
[button setTitle:@"Return" forState:UIControlStateNormal];
[button setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
[button setBackgroundColor:[UIColor orangeColor]];
// n--;
}
else
{ [button setTitle:@"Show More" forState:UIControlStateNormal];
[button setBackgroundColor:[UIColor clearColor]];
}
NSLog(@"n==>> %d",n);
[tbl reloadData];}
Here is my code.
答案 1 :(得分:0)
您的按钮是动态附加的,您必须创建对它的引用。
您可以使用计数器,如下所示:
-(void) aMethod{
if(ctr < arrayLength){
ctr++;
[buttonReference setText:@"Show More"];
} else {
ctr--;
[buttonReference setText:@"Return"];
}
.....
}
答案 2 :(得分:0)
你可以通过三种方式完成这项工作
1:在实现文件的私有界面中声明你的按钮,这样你就可以在课堂的任何地方访问该按钮。
2:使用(id)sender参数声明aMethod()并将发件人输入到UIButton。
3:在AddMyButton button.tag = 1;
中添加UIButton的tag属性,并引用aMethod中的按钮
-(void)aMethod
{
UIButton *button2 = (UIButton *)[self.view viewWithTag:1];
[button2 setTitle:@"return" forState:UIControlStateNormal];
NSLog(@"in load more n===>>>");
[tbl reloadData];
}