0

我需要检查某个对象是否具有 text 属性。例如,它可以是一个UIButton或一个UILabel。但是在为 anUIButton和为显示文本的属性之间存在问题UILabel

这是区别:

对于UIButton我们使用方法设置文本setTitle:,但对于UILabel我们使用另一个名为setText:

我需要做什么:

我需要获取所有子视图,如果这些子视图具有文本属性,我需要使用一些文本更改此属性值。

所以当然我可以检查对象的类并设置所需的属性,但也许我们有另一种方法来做到这一点而不检查对象的类。

4

1 回答 1

1
for (id item in [self.view subviews])
{
    if ([item respondsToSelector:@selector(text)])
        [item setText:@"text"]; // change text for UILabel
    else if ( [item respondsToSelector:@selector(setTitle:forState:)])
        [item setTitle:@"text" forState:UIControlStateNormal]; // change text for UIButton
}
于 2013-01-15T15:14:06.077 回答