2011-03-15 52 views
0

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

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

+0

我有一个问题。请看我更新的问题。 – Voloda2 2011-03-15 12:40:52

回答

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

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

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

例如

button.tag = 1000; 

现在你可以直接通过

[view viewWithTag:1000]; 

这可以为任何UIView子类,而不仅仅是UIButtons进行查找按钮。