【发布时间】:2014-12-20 15:59:19
【问题描述】:
我希望在应用程序中加载时更新故事板中的 UIView(并从故事板实例化)。
我需要以动态方式放置一些图标(界面构建器还不允许我这样做)。但是,如果我将代码放在 viewDidAppear 或 viewDidLoad 中,似乎调用得太晚了。
这是视图加载后前几秒或两秒发生的情况:
稍后它会转到正确的位置(调用代码时)。
我的问题是我需要在哪里初始化这些对象的位置,这样它们就不会在一秒钟后捕捉到。 viewDidLoad 和 viewDidAppear 来不及了?为什么!? :)
override func viewDidAppear(animated: Bool)
{
initView()
_gridLines = false
}
func initView()
{
_cameraFeed.initAfterLoad()
//center the buttons on half distance between middle button and screen edge
var middleDistance:CGFloat = _swapButton.frame.origin.x + _swapButton.frame.width/2
_linesButton.frame.origin.x = middleDistance/2 - _linesButton.frame.width/2
_flashButton.frame.origin.x = middleDistance + middleDistance/2 - _flashButton.frame.width/2
_selectPhotos.frame.origin.x = middleDistance/2 - _selectPhotos.frame.width/2
}
欢迎 Swift 和 objc 回答!
【问题讨论】:
-
我在您的第二张图片中看不到任何无法在 IB 中设置约束的内容。 IB不允许你做什么?
-
您可以在这里查看问题:stackoverflow.com/questions/26477049/…
-
我发布了该问题的答案
标签: ios objective-c xcode swift interface-builder