-3

我正在制作一个带有 4 个 UIImageView 和 4 个 UIButtons 的应用程序。每个按钮都连接到一个 UIAlerView,它有一个打开照片库的选项,因此可以更改 UIImageView。我的问题是我不知道如何告诉 UIAlertView 按下了哪个 UIButton。

我怎样才能写出哪个按钮被按下了?

4

3 回答 3

1
  1. 如果您正在使用界面构建器或将它们添加不同的目标,则可以将所有按钮连接到另一种方法。它会更容易但不是非常可扩展,或者它不会与动态数量的按钮兼容。

  2. 使用以下方法将相同的目标和选择器添加到所有按钮:

    [_yourButton1 addTarget:self
               action:@selector(aButtonTapped:)
     forControlEvents:UIControlEventTouchDown];
    

    并在 aButton tapped 方法中检查哪个按钮被点击并采取相应措施:

    - (void) aButtonTapped:(id) sender{
    
         if ( sender == _yourButton2) //Do sth
    }
    

在这两种情况下,使用界面生成器都会更容易。

于 2012-11-29T15:20:06.960 回答
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
  */
}

第二种方式是通过发布和观察通知。

于 2012-11-29T15:09:31.010 回答
1

您可以为按钮添加标签。

于 2012-11-29T15:09:42.623 回答