我刚刚将 UIButton 添加到 UIView。如何获取按钮索引?
Posted
技术标签:
【中文标题】我刚刚将 UIButton 添加到 UIView。如何获取按钮索引?【英文标题】:I just had added UIButton to UIView. How can I get buttons index? 【发布时间】:2011-03-15 12:24:27 【问题描述】:谢谢,解决了。
我有问题。一些使用 xib 文件创建的 UIButtons。当我打印它的值时,我得到了虚幻的索引。 @property(非原子,保留)IBOutlet UITextField *distanceTextField; 例如:索引等于 2147483647 但是当我以编程方式添加对象时,我得到了真正的索引。 index 等于 12。为什么?
【问题讨论】:
我有问题。请查看我更新的问题。 【参考方案1】:int index = [[YourUIView subviews] indexOfObject:YourUIButton];
【讨论】:
【参考方案2】:遍历 UIView 的子视图是一种不可靠的查找按钮的方法。无法保证按钮在子视图数组中的位置,特别是如果系统(或您)稍后将其他元素添加到视图中。如果不进行某种检查,如果您检索到错误的子视图并尝试对其进行操作,您的应用程序很容易崩溃。
更好的方法是为 UIButton 设置自定义标记值。
例如
button.tag = 1000;
现在你可以通过直接找到按钮
[view viewWithTag:1000];
这可以用于任何 UIView 子类,而不仅仅是 UIButtons。
【讨论】:
以上是关于我刚刚将 UIButton 添加到 UIView。如何获取按钮索引?的主要内容,如果未能解决你的问题,请参考以下文章
将 UIView 作为子视图添加到 UIButton 并将其置于前面无法正常工作
直接在 UIWindow 中添加 UIButton 和 UITextField 或在 UIView 中添加