我需要检查某个对象是否具有文本属性。例如,它可以是 UIButton
或 UILabel
。但是为 UIButton
和 UILabel
显示文本的属性之间存在问题。
这就是区别:
对于 UIButton
,我们使用 setTitle:
方法设置文本,但对于 UILabel
,我们使用另一个名为 setText:
我需要做什么:
我需要获取所有 subview ,如果这些 subview 具有文本属性,我需要用一些文本更改此属性值。
所以我当然可以检查对象的类并设置所需的属性,但也许我们有另一种方法来做到这一点而不检查对象的类。
最佳答案
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
}
关于ios ui 对象检查文本属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14340345/