我正在使用4个UIImageView和4个UIButton制作应用程序。每个按钮都连接到UIAlerView,它有一个打开photolibrary的选项,因此可以更改UIImageView。 我的问题是我不知道如何告诉UIAlertView哪个UIButton被按下了。
如何写出按下了哪个按钮?
答案 0 :(得分:1)
有很多方法可以做。
在操作中,如果您记录发件人,它将显示按下了哪个按钮。
-(IBAction) myFirstButton: (id) sender {
NSLog(@"User clicked %@", sender);
// Do something here with the variable 'sender'
/*if ( [[sender title] isEqualToString:@"Button 1"] ) {
//do whatever you want
*/
}
第二种方式是发布和观察通知。
答案 1 :(得分:1)
您可以为按钮添加标签。
答案 2 :(得分:1)
如果使用界面构建器或添加不同的目标,则可以将所有按钮连接到其他方法。它会更容易但不是很可扩展,或者它与动态数量的按钮不兼容。
添加相同的目标&选择器使用以下所有按钮:
[_yourButton1 addTarget:self
action:@selector(aButtonTapped:)
forControlEvents:UIControlEventTouchDown];
并在aButton tapped方法内部检查点击了哪个按钮并采取相应措施:
- (void) aButtonTapped:(id) sender{
if ( sender == _yourButton2) //Do sth
}
在这两种情况下,使用界面构建器会更容易。