Ios 带标签的视图不';不适用于在XIB文件中设置的标记
我在我的nib文件中设置了8个按钮(数字1..8的按钮),我不想创建8个IBOutlet,因此在属性中我将标记设置为1,2,3…,8,在代码中,我尝试使用以下内容获取按钮:Ios 带标签的视图不';不适用于在XIB文件中设置的标记,ios,cocoa-touch,uiview,Ios,Cocoa Touch,Uiview,我在我的nib文件中设置了8个按钮(数字1..8的按钮),我不想创建8个IBOutlet,因此在属性中我将标记设置为1,2,3…,8,在代码中,我尝试使用以下内容获取按钮: UIButton* buttonToMove = (UIButton*)[self.view viewWithTag:digitToMove]; 但这不起作用。知道我做错了什么吗?我的nib文件中的所有其他视图都将其标记设置为默认值(0)。我假设您得到了其他一些实例(不是按钮),因为您有多个子视图的标记为1viewWith
UIButton* buttonToMove = (UIButton*)[self.view viewWithTag:digitToMove];
但这不起作用。知道我做错了什么吗?我的nib文件中的所有其他视图都将其标记设置为默认值(0)。我假设您得到了其他一些实例(不是按钮),因为您有多个子视图的标记为1
viewWithTag:
只获取并返回它找到的第一个。当您发出请求时,也可能由于某种原因,视图没有作为子视图加载/添加
考虑改用
IBOutletCollection
。什么叫“不工作”?每次调用viewWithTag:
是否返回nil
?还是别的什么?您使用什么方法调用viewWithTag:
?向我们展示该调用的上下文。检查self.view
。它是否指向nil
?它是否指向与按钮处于同一层次结构中的视图?抱歉,伙计们,我的问题似乎出在其他地方,事实上该函数工作正常!我的错误:)