ios ui 对象检查文本属性

标签 ios

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

这就是区别:

对于 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/

相关文章:

ios - Swift:动画后将 UIView 的框架重置为其约束

ios - Sprite Kit - 确定滑动手势的矢量以轻弹 Sprite

ios - 无法调用非函数类型的值

iphone - 使用 Custom Segue 以编程方式导航到另一个 ViewController

ios - 如何在 self.dismiss block 中推送 UIViewController?

ios - 使用 HTTPCookieStorage.shared 在 URLSessionConfiguration.background 中授权失败(cookes 未发送)

ios - PhaseScriptExecution 失败,退出代码非零

ios - 无法通过 FaSTLane 将测试版上传到 TestFlight

ios - UIView 上的自定义圆角

ios - Xcode 7.3.1 - SVN : Couldn't communicate with a helper application