我正在以编程方式创建UIButtons
,然后将这些UIButtons
存储在NSMutableArray
中。所有这些UIButtons
都有一些文字作为标题。我对这些UIButtons
没有出口。现在,我想在触摸或点击某些UIButton
时将UIlabel
的标题指定给UIButton
。但问题是我:如何在这些UIButtons
上执行该功能。因为我以编程方式创建了UIButtons
,并且这些UIButtons
也没有Outlet。这是我创建按钮的代码:
saveBtn = [[NSMutableArray alloc] init];
for (int i=0; i<30; i++) {
if (btnn>8) {
UIButton *btn = [UIButton
buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(200.0 , spacey, 30.0, 30.0);
int idx;
idx = arc4random()%[arr count];
NSString* titre1 = [arr objectAtIndex:idx];
[btn setTitle:titre1 forState:UIControlStateNormal];
spacey=spacey+30;
spacex = 80;
btnn = 0;
}
else {
btnn++ ;
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(spacex, spacey, 30.0, 30.0);
int idx;
idx = arc4random()%[arr count];
NSString* titre1 = [arr objectAtIndex:idx];
[btn setTitle:titre1 forState:UIControlStateNormal];
spacex = spacex + 30;
[saveBtn addObject:btn];
[self.view addSubview:btn];
}
}
请任何人指导我如何对这些NSMutableArray
UIButtons
执行操作。
答案 0 :(得分:2)
您可以使用以下方式以编程方式向UIButton添加操作:
[button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
- (void)buttonClicked:(UIButton *)btn
{
[btn setTitle:@"UnAutreTitre" forState:UIControlStateNormal];
}
希望这有帮助。
答案 1 :(得分:1)
只需设置标记并将按钮添加到按钮即可。之后,您可以获取点击的按钮。
答案 2 :(得分:1)
为UIButton
操作创建操作,您将(id)sender
发送到actionButtonFunction
。
将发件人分配到UIButton
,然后点击NSString
中的按钮标题。
-(UIAction)buttonAction:(id)sender
{
UIButton *button = (UIButton *)sender;
NSString *buttonTitle = button.text;
// further code goes here
}