XCode:以编程方式添加具有特定名称和动画的多个按钮

Posted

技术标签:

【中文标题】XCode:以编程方式添加具有特定名称和动画的多个按钮【英文标题】:XCode: Add multiple buttons programmatically with specific names and animate 【发布时间】:2012-02-14 04:52:36 【问题描述】:

我刚刚读到这篇关于adding buttons with a loop programmatically 的帖子。

我想做同样的事情,但为每个人命名,并以相同的方式为它们设置动画。这是个好主意,还是我应该为每个按钮复制同一行代码?

此外,我想从名称列表(多于四个)中添加一些按钮(比如四个)并随机选择它们。问题是,我需要正确命名它们并提取与每个名称关联的图像。有什么想法吗?

感谢 SO 社区!

【问题讨论】:

【参考方案1】:

正如我所见,您应该使用按钮信息数组创建一个属性列表 (.plist) - 每个按钮都有要显示的文本、要显示的图片和操作(方法名称或其他内容)。 您可以在[0, [buttonArray length]] 范围内生成四个不同的随机数,然后在循环中为每个选定的数字生成按钮。

我猜,你需要类似 buttonFactory 的方法

-(UIButton*) makeButtonWithInfo(NSDictionary*)info

名称、图片地址、操作等存储在信息中的位置(如果很复杂,您可以自定义类型 buttonInfo)。

更新:

在 Xcode (resources/PropertyList) 中创建新的 .plist 并像这样填充它:

在您的代码中阅读它

NSArray* buttonsArray = [NSArray arrayWithContentsOfFile:myPlist.plist];

这个数组中会有包含按钮信息的字典。

阅读有关 NSArray、NSDictionary 和 UIButton 类的 Xcode 帮助并实现您的逻辑。

【讨论】:

别忘了给随机生成器重新播种 (srandom(time(NULL));),否则每次都会得到相同的序列。此外,您可以使用 NSDictionary 来保存字符串名称和图片或图片路径。 这有点道理。我是objective-c的新手。能不能详细一点?

以上是关于XCode:以编程方式添加具有特定名称和动画的多个按钮的主要内容,如果未能解决你的问题,请参考以下文章

在 xCode 中使用多个资产文件夹

Drupal Group模块,以编程方式将用户添加到具有特定角色的组中

Drupal Group 模块,以编程方式将用户添加到具有特定角色的组

以编程方式创建具有多个标签的 UIView

Xcode 10 - 以编程方式添加按钮时,滚动视图不允许滚动

以编程方式添加 ODR 资源