繁体   English   中英

如何动态创建多个按钮并处理它们各自的事件? + iPhone SDK

[英]How to create multiple buttons dynamically and handle their separate events? + iPhone SDK

现在我正在创建一个 iPhone 应用程序。 我需要动态创建多个按钮并分别处理它们对应的事件。 每个按钮事件是否可以单独运行,或者我可以将变量或 object 发送到方法并根据该值区分按钮行为。 谁能指出我该怎么做?

请帮忙,

赛姆

您应该查看 iPhone SDK 中的 UI 目录示例。 它具有以编程方式创建所有 UI 元素的示例。

我不相信您可以将参数传递给在触发按钮时调用的 function,因此每个按钮都需要一个单独的 function。 然而,这些可能是轻量级函数,它们使用参数调用另一个函数。

要手动创建按钮并设置其操作,您可以执行以下操作:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(80.0, 170, 150.0, 30.0);
[button setTitle:@"My Button" forState:UIControlStateNormal];
[button addTarget:self action:@selector(myAction:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];

当按钮调用 IBAction(这将是您传入的选择器)时,它还会传递一个指针,指向您通常拥有的:(id)sender 参数中的按钮:

- (IBAction) doSoemthing:(id)sender

所以你可以根据传入的按钮找出你想要做什么。 通过基于所有按钮地址创建 map,或者通过让您使用的所有 UIButtons 成为 UIButton 的子类,您可以在其中插入某种自定义 ID,并在 doSomething: 被击中时进行查找。

您可以通过编程方式使用 UIButton 的标签属性并访问标签。 这比子类化更容易。

这是一个示例: 检测 UITableView 中按下了哪个 UIButton

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM