2015-08-20 90 views
0

背景信息:我有一個NSTableView定製NSView細胞(PreviewCell : NSView),並想補充這樣的PreviewCell(其自定義筆尖)爲子視圖在表格之外也是如此。添加自定義NSViewController用筆尖查看

項目設置:

AppDelegate [displays MasterviewController] 
MasterViewController : NSViewController 
MasterViewController.xib [contains table with Preview.xib rows] 

Preview : NSViewController 
Preview.xib [contains PreviewCell] 
PreviewCell : NSView 

表顯示正確。然而,在將Preview控制器與Nib連接到MasterViewController時,我遇到了麻煩。

// in viewDidLoad() 
var pinned = Preview(nibName: "Preview", bundle: nil) 
self.view.addSubview(pinned!.view) 
pinned!.view.frame = CGRect(x: 0, y: 100, width: 600.0, height: 120.0) 

該視圖根本不可見。如果我不是把它添加到窗口的內容查看(在AppDelegate),它完美的作品:

// in applicationDidFinishLaunching() 
var pinned = Preview(nibName: "Preview", bundle: nil) 
self.window.contentView.addSubview(pinned!.view) 
pinned!.view.frame = CGRect(x: 0, y: 0, width: 600.0, height: 120.0) 

添加只是PreviewCellMasterViewController(所以不使用NIB)工程,以及:

var pinned = PreviewCell(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.table.rowHeight)) 
self.view.addSubview(pinned) 

我在這裏做錯了什麼?

回答

0

顯然,在子視圖上設置setAutoresizingMask是一個壞主意。 刪除自動調整後,子視圖(在我的案例中爲Preview)顯示正確。

相關問題