我刚刚将UIButton添加到了UIView。我怎样才能获得按钮索引?

时间:2011-03-15 12:24:28

标签: iphone uiview

我刚刚将UIButton添加到UIView。我怎样才能获得按钮索引?谢谢,解决了。

我有一个问题。使用xib文件创建的一些UIButtons。当我打印它的值时,我得到虚幻的索引。 @property(nonatomic,retain)IBOutlet UITextField * distanceTextField; 例如:index等于2147483647 但是当我以编程方式添加对象时,我得到真正的索引。 index等于12.为什么?

2 个答案:

答案 0 :(得分:4)

int index = [[YourUIView subviews] indexOfObject:YourUIButton];

答案 1 :(得分:4)

通过UIView的子视图循环是找到按钮的不可靠方式。无法保证子视图数组中按钮的位置,尤其是系统(或您)稍后将其他元素添加到视图中时。如果您没有进行某种检查,如果您检索到错误的子视图并尝试对其进行操作,则很容易导致应用程序崩溃。

更好的方法是为UIButton设置自定义标记值。

e.g。

button.tag = 1000;

现在您可以直接通过

找到该按钮
[view viewWithTag:1000];

这可以对任何UIView子类进行,而不仅仅是UIButtons。