2011-06-17 20 views
2

我是Cocoa的新手,並試圖弄清楚如何構建自定義小部件(視圖?)。我特別感興趣的是Safari的URL欄,它看起來像一個文本字段,但在兩端都有按鈕或至少可點擊的組件。構建自定義小部件,如Safari的URL欄

我一直在做一些研究 - 主要是看Hillegass的書和可可和Objective-C:上,由O'Reilly運行 - 關於自定義視圖,並試圖與NSCells打造的東西。對我來說,這仍然是非常模糊的......我在這條研究線上走在正確的軌道上嗎?

任何人都可以快速分解哪些小部件的URL欄是可能是組成的?

任何人都可以告訴我這是怎麼做的,否則,指向我一些特別擅長解釋這種事情的資源?

回答

0

你在正確的軌道上。你想要NSView的子類。從那裏你可以實現 - (void)drawRect方法來做你自己的自定義繪圖,或者你可以添加子視圖,或者兩者兼而有之。

//add some subviews 
NSTextField * textField = [[[NSTextField alloc] initWithFrame:self.bounds] autorelease]; 
[self addSubview:textField]; 


NSButton * button = ... 
[self addSubview:button]; 

您還可以使用Interface Builder(現在內置於XCode 4)設計小部件,然後用代碼連接零件。