按下了哪个按钮

时间:2012-11-29 15:06:01

标签: objective-c ios

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

如何写出按下了哪个按钮?

3 个答案:

答案 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)

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

  2. 添加相同的目标&选择器使用以下所有按钮:

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

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

    - (void) aButtonTapped:(id) sender{
    
         if ( sender == _yourButton2) //Do sth
    }
    
  3. 在这两种情况下,使用界面构建器会更容易。

相关问题