我有一个NSSplitView,它使用autolayout将两个子视图放在其中.
一切都很好,但出于美观原因,我想将分频器的初始位置设置为恒定值(300像素).我没有使用界面构建器.
如果我这样做[_splitView setPosition:300 ofDividerAtIndex:0];,我认为没有效果,如果我[_splitView adjustSubviews]在那之后立即添加一个电话,同样的事情.
有小费吗?
我遇到了同样的问题。setPosition如果在将子视图添加到splitView之后立即调用,似乎没有任何效果。
我通过在调用之前稍等片刻来解决问题setPosition。这是迅速的示例代码:
func delay(delay:Double, closure:()->()) {
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay * Double(NSEC_PER_SEC)))
dispatch_after(time, dispatch_get_main_queue(), closure)
}
delay(0.05) {
splitView.setPosition(300, ofDividerAtIndex: 0)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1819 次 |
| 最近记录: |