2015-07-19 52 views
-1

我的代碼:如何正確添加Subview到NSSrollView?

@IBOutlet weak var scroller: NSScrollView! 

var showSettingsButton = NSButton(frame: NSMakeRect(0, 860, 60, 40)) 
    showSettingsButton.title = "Settings" 
    scroller.addSubview(showSettingsButton) 

的按鈕看起來意在通過滾動視圖保持靜態的,但是當我滾動了滾動,按鈕看起來就像這樣:

enter image description here

我希望把無論滾動條是否滾動,此按鈕始終位於左下角。 那麼哪個視圖應該是這個按鈕的超級視圖?

enter image description here

回答

0

應該在你的View。把它放在Scroll View - Text View下面,但要確保它是Scroll View - Text View的兄弟姐妹,而不是小孩。 如果你打算將其添加到代碼中,添加它像

view.addSubview(showSettingsButton) 
+0

AFAICT,這不適合我的情況。 –

0

爲了您的要求,您應該繼承NSScrollView並重寫「板磚」的方法。在那裏你可以指定你的按鈕框架

0

當你想讓你的Button不滾動時,爲什麼你把它添加到滾動視圖呢?

將它添加到view,超級查看scrollview。所以讓它成爲scrollview的兄弟姐妹。只需將第一個scrolliview和第二個button添加,以便button覆蓋scrollview並顯示在上面。

ViewController 
-> View 
    -> ScrollView 
     -> TextView (and anything that you want to scroll) 
    -> Button 

你可能想要做的這件編程,因爲IB或故事板編輯器respectivey可以通過使按鈕滾動視圖的子視圖再次更改視圖層次結構。