【问题标题】:Get Identifier and Hint of UIView in swift class在swift类中获取UIView的标识符和提示
【发布时间】:2020-05-07 07:47:47
【问题描述】:

我正在使用情节提要为视图分配一个标识符,并希望通过 swift 类访问它。有什么方法可以做到吗?我正在stackoverflow上搜索它,但找不到任何解决方案。

很少有人让solution 使用标签而不是标识符,但我想问一下,没有任何解决方案可以在 swift 类中获取这些提示和标识符。

当我尝试使用accessibilityIdentifier 访问它时会出错。

【问题讨论】:

  • print(myView.accessibilityIdentifier) - 你得到标识符。 print(myView.accessibilityHint) - 你得到你的提示。还是你需要别的东西?那么问题并不完全清楚。
  • @VadimNikolaev 我已经更新了我的问题。我正在尝试使用accessibilityIdentifier 访问它,但它给了我错误。
  • 当然,您必须在代码中使用此属性view.accessibilityIdentifier 做一些事情(例如,只需打印它),错误就会消失
  • 谢谢!现在它工作得很好。

标签: ios swift uiview storyboard identifier


【解决方案1】:

您可以通过accessibilityIdentifier 访问它,例如myView.accessibilityIdentifier

【讨论】:

  • 这对我不起作用。它在你的代码中工作吗?
  • 正如克叔已经说过的,你需要将它分配给一个变量或直接在ifswitch语句中使用它:if view.accessibilityIdentifier == "phoneTF" { // do something }switch(view.accessibilityIdentifier) { case "phoneTF": // do something default: // do somthing else }
【解决方案2】:

错误是因为您没有使用该值。只需将它分配给一个变量,它就会起作用。

let yourId = yourView.accessibilityIdentifier

【讨论】:

    【解决方案3】:

    这是一个扩展

    var viewIdentifier: String?{
        get {
            return self.accessibilityIdentifier
        }
        set {
            self.accessibilityIdentifier = newValue
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-10
      • 2019-09-10
      • 2014-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-05
      相关资源
      最近更新 更多