【问题标题】:UIView viewwithtag method in swift [closed]swift中的UIView viewwithtag方法[关闭]
【发布时间】:2014-07-28 14:43:59
【问题描述】:

我正在尝试快速学习一些东西。 我以编程方式添加标签。我想稍后更改它们的属性。

viewwithtag 方法返回一个 UIView,我如何从中访问我的 UILabel?

干杯

【问题讨论】:

  • UILabel 不是 UIView 吗?考虑一下
  • 由 Adam、Midhun 和 iPatel 回答。

标签: ios swift uiview uikit uilabel


【解决方案1】:

viewWithTag: 返回一个 UIView,你需要将其类型转换为UILabel

var yourLabel : UILabel = yourView.viewWithTag(yourTag) as! UILabel;

【讨论】:

    【解决方案2】:

    您需要使用类型转换。这段代码可以做到:

        if let theLabel = self.view.viewWithTag(123) as? UILabel {
            theLabel.text = "some text"
        }
    

    【讨论】:

    • "var theLabel : UILabel = self.view.viewWithTag(123) as? UILabel" 不应该使用吗?因为你不能确定 viewWithTag 没有返回 nil?
    • @Konrad77 很好发现。我已经编辑了答案
    • 它给出了错误,'UILabel?' does not have a member named 'text'
    • @Virussmca 阅读关于可选选项的信息here
    • 它给出了致命错误:unwrapping an Optional value 时意外发现 nil 。我正在使用 Xcode 9.1
    【解决方案3】:

    你需要写成

    var getMyLabel : UILabel = self.view.viewWithTag(tagValue) as UILabel;
    

    【讨论】:

    • 它给出了 fatal error: unexpectedly found nil while unwrapping an Optional value 。我正在使用 Xcode 6.1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    相关资源
    最近更新 更多