【问题标题】:UIButton to forward events & retrieve values according to UIButtonUIButton 根据 UIButton 转发事件和检索值
【发布时间】:2011-06-27 09:38:21
【问题描述】:

我有一个 for 循环,它显示 7 个 UIButton,所有的方法都指向同一个视图(for 循环,这就是原因)。

我想要的是什么时候 例如,我单击 button1 ,下一个视图将显示属于 button1 的值。 当我点击 button2 时,下一个视图(再次是相同的视图)将显示属于 button2 的值。

你知道怎么做吗?

我有类和 appDelegate 来存储这些值

编辑: 我的 UIButton 是以编程方式创建的,我无法将 IBAction 链接到它。我想有些人误解了我的问题。

【问题讨论】:

  • 您知道如何将数据发送到视图并相应地显示该视图吗?还是您也需要这方面的帮助?

标签: iphone xcode uibutton


【解决方案1】:

为此,当您循环按钮时,此时,将标签值赋予按钮。并创建如下方法:

-(IBAction)buttonClicked:(id)sender{
    int clickedTag = [sender tag];
}

在里面,你会得到被点击的按钮标签。并且可以根据Tag来做。

只需在以编程方式创建按钮时设置标签。

[button setTag:counter]; // if you are creating the buttons in For loop

干杯。

【讨论】:

  • 我以编程方式创建了一个 UIButton,该怎么做呢?
  • 为此,您可以添加以下行。 [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
【解决方案2】:

听起来所有这些按钮可能都有相同的动作,对吧?为每个按钮的tag 属性赋予不同的值。然后该操作可以查看发送消息的对象的tag,例如sender.tag,找出点击了哪个按钮。使用该信息来确定在下一个视图中显示哪些数据。

【讨论】:

  • 我该怎么做?按钮.tag = i+1; ?
【解决方案3】:

简单。设置所有按钮的标签值。使用 sender 对象在您的视图中相应地显示值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多