点击 UIButton 以编程方式创建另一个 UIButton
Posted
技术标签:
【中文标题】点击 UIButton 以编程方式创建另一个 UIButton【英文标题】:Tap UIButton to create another UIButton programmatically 【发布时间】:2012-03-27 22:53:05 【问题描述】:我正在尝试以编程方式创建 UIButton。我有一个名为“addCash”的按钮(已在界面生成器中创建),点击此按钮后,我希望另一个按钮动态显示。在 viewDidLoad 中完成时,此按钮工作正常,但这不是我想要的,因为在创建此新按钮之前需要点击“addCash”。这就是我目前所拥有的......
-(IBAction) addCash
UIButton *theButton = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
theButton.frame = CGRectMake(80, 50, 150, 40);
[theButton setTitle:@"title" forState:UIControlStateNormal];
[theButton addTarget:self action:@selector(test:) forControlEvents:UIControlEventTouchUpInside];
[theButton setBackgroundImage:[UIImage imageNamed:@"edit.jpg"] forState:UIControlStateNormal];
[self.view addSubview:theButton];
【问题讨论】:
为什么要以编程方式创建按钮?为什么不事先在 IB 中创建它,而是使用hidden = YES
,然后在按下第一个按钮时取消隐藏它?
你在泄露theButton
。为什么要保留它?
还有为什么你在方法签名中忽略了发件人?即 -(IBAction) addCash:(id)sender ... ??
我需要以编程方式创建按钮,因为最终我计划创建未知数量的按钮(1 到 100)
@bennythemink 添加sender
不是必需的,如果您不使用该值,那么为什么要麻烦...
【参考方案1】:
如果您简单地添加大量按钮,请使用 UITableView
with custom cell。如果您只是添加新按钮来查看,您将遇到性能问题 - 所有按钮都将同时加载。 UITableView
可以管理这种情况并卸载未使用的单元格。
【讨论】:
以上是关于点击 UIButton 以编程方式创建另一个 UIButton的主要内容,如果未能解决你的问题,请参考以下文章
在 UIButton 单击时以编程方式创建 Segue 或推送到另一个视图控制器
如何更改以编程方式创建的一组 UIButton 的标题颜色?
以编程方式创建 VC,使用公式中文本字段中的整数并在点击 UIButton 时执行计算