Joe*_*ett 6 xcode objective-c nssplitview
根据NSSplitViewControllers上的文档,关联的NSSplitView使用NSSplitViewController作为其委托.特别是在文档中,"拆分视图控制器充当其拆分视图对象(管理分隔符的对象)的委托.如果覆盖拆分视图委托方法,则覆盖必须调用super."
我在界面构建器中实现了一个NSSplitViewController并给它一个类.但是,没有调用任何splitView委托.另外,如果我只是像spit那样执行splitView委托[NSLog(@"%@",self.splitView.delegate); ],结果为"null".但是,如果我在IB本身(通过将委托出口拖动到NSSplitViewController)或内部代码([self.splitView setDelegate:self];)中分配委托,我会收到以下错误:
引发了未捕获的异常
SplitViewController的splitView无法使用autolayout,因为SplitViewController会覆盖不兼容的委托方法.
我完全陷入了困境.
Tay*_*lor 19
如果拆分视图的委托实现以下方法之一,则它与自动布局不兼容.
splitView:constrainMinCoordinate:ofSubviewAt:
splitView:constrainMaxCoordinate:ofSubviewAt:
splitView:resizeSubviewsWithOldSize:
splitView:shouldAdjustSizeOfSubview:
Run Code Online (Sandbox Code Playgroud)
https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKitOlderNotes/#10_8AutoLayout
并且因为NSSplitViewController需要使用自动布局(在文档中提到),所以这些方法与NSSplitViewController不兼容,不应在子类中实现.