2

我遇到了标签问题。我有几个标签需要借助标签进行更改。我在我的代码中这样做,但它给出了一个异常 -[UIView setText:]: unrecognized selector sent to instance 这是我的代码:

UILabel *label = (UILabel *)[self.view viewWithTag:0];

label.text = @"empty";

任何帮助表示赞赏,谢谢。

4

1 回答 1

2

每个视图的标签默认为 0。

标签

一个整数,可用于标识应用程序中的视图对象。

@property(nonatomic) NSInteger 标签

讨论

默认值为 0。您可以设置此标记的值,并在以后使用该值来标识视图。

viewWithTag将归还您的self.view. 所以你会得到 aUIView而不是 aUILabel并且你的应用程序会崩溃。见viewWithTag的定义:

viewWithTag:

返回其标签与指定值匹配的视图。

- (UIView *)viewWithTag:(NSInteger)tag 参数

标签

要搜索的标记值。返回值 接收者层次结构中的视图,其标签属性与标签参数中的值匹配。

讨论

此方法在当前视图及其所有子视图中搜索指定视图。

因此,您的解决方案是您需要tag为每个标签指定唯一的。然后使用viewWithTag:并给出您指定的标签。

于 2012-12-03T11:21:54.813 回答