【问题标题】:Getting UIButton instance from NIB (Without interaction)从 NIB 获取 UIButton 实例(无交互)
【发布时间】:2012-01-29 04:59:15
【问题描述】:

我想知道如何在不与之交互的情况下获取 UIButton 的实例。我在我的 xib 中放置了一个按钮,只是希望能够获得它在代码中的位置。我创建了一个 IBOutlet 并将它们链接起来,但是当我查看 IBOutlet 的位置时,它被设置为 0,0。

非常感谢任何帮助。

亲切的问候, 艾略特

【问题讨论】:

  • 您可能调用它为时过早。您通过哪种方法访问该职位?
  • 我是在放开一个按钮后访问的,所以到时候应该所有的位置都搞定了。
  • 我关心的不是职位。它是 UI 元素和 IBOutlets 之间的绑定。看起来您实际上已通过 XIB 编辑器将按钮连接到其 IBOutlet。当您尝试访问时,IBOutlet 变量是否具有非零值?

标签: iphone xcode uibutton xib nib


【解决方案1】:

您必须设置该按钮的tag 属性,例如1001,例如在viewDidLoad 方法中,您可以通过以下方式获取该按钮:

- (void) viewDidLoad
  {
      UIButton *temp = (UIButton *)[self.view viewWithTag:1001];
      NSLog(@"%f",temp.frame.origin.x);
      NSLog(@"%f",temp.frame.origin.y);
  }

希望对你有帮助...

【讨论】:

  • 问题指定 IBOutlet 存在。这将是在没有出口的情况下获得信息的答案。
  • 我知道我最初是使用 IBOutlet 指定的,但我想只要我能以某种方式连接它就可以了。这可能不是最佳实践,但我现在正在使用上面的代码设置我的 IBOutlet。
  • "没有交互" 我假设没有用户与按钮交互来引发一个事件,该事件将导致通过 IBAction 发送按钮的引用。不像不使用我设置的引用按钮的 IBOutlet 从按钮获取信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多