【问题标题】:How can I determine which of two buttons is pressed by the user in the ABUnknownPersonViewController?如何确定用户在 ABUnknownPersonViewController 中按下了两个按钮中的哪一个?
【发布时间】:2012-09-17 05:16:40
【问题描述】:

我有一个按钮,如果用户按下我会显示ABUnknownPersonViewController。现在的问题是有两个选项创建新联系人添加到现有联系人。如何确定选择了哪些选项?

我需要知道这一点,因为在我的应用中,我在另一部分显示我的联系人。有时它会导致我的应用程序因错误而崩溃:

不应尝试显示多个“添加到现有联系人”人员选择器

我该如何解决这个问题?

【问题讨论】:

    标签: iphone objective-c xcode uibutton


    【解决方案1】:

    为按钮分配标签值并检查点击按钮的标签。根据标签放置条件并显示您的观点。

    - (IBAction)contactsEdit_New:(id)sender 
    {
        if ([addExitingBtn tag]==0)
        {
            // load ur view for exiting
    
        } 
        else  // here you can add if condition if required
        {
            // load view for creating new
        }
    
    
    }
    

    希望有帮助。

    【讨论】:

      【解决方案2】:

      我猜你有 2 个 UIButtons? 给他们每个人一个标签,并指出他们使用一种方法。如果您使用 IB,只需 CTRL 拖动到您的代码(.m 文件)。 像这样的:

      - (IBAction)buttonPressed:(UIButton *)sender {
        switch (sender.tag) {
          case 0:
            // load create controller
            break;
      
          case 1:
            // load add controller
            break;
      
          default:
            break;
        }
      }
      

      您也可以尝试比较按钮标题标签上的文本,但我认为这不是一个好的做法,因为按钮上的文本可能会在开发过程中发生变化。

      - (IBAction)buttonPressed:(UIButton *)sender {
        if([sender.titleLabel.text isEqualToString:@"create"]) {
          // load create controller
        } else if ([sender.titleLabel.text isEqualToString:@"add"]) {
          // load add controller
        }
      }
      

      您还可以为每个按钮创建 2 种不同的方法 :) 这样你就可以避免使用标签,因为两个按钮都有自己的方法来回答。

      祝你好运。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-05
        • 1970-01-01
        • 2016-01-27
        • 2013-10-17
        • 1970-01-01
        • 2015-12-11
        • 2016-06-16
        相关资源
        最近更新 更多