2012-10-24 36 views
0

我很困惑,爲什麼下面的代碼不工作,我想實現的是在NSRect中有一個NSTextfield,但我不確定它是否可能以及它是否可能是如何做到這一點,我想下面的代碼,但它不工作...cocoa - 添加NSTextfield到NSRect

NSRect city_label = NSMakeRect(20, 20, 7, 7); 

NSTextField *label = [[NSTextField alloc] initWithFrame:city_label]; 

label.stringValue = @"Contents of NSTextfield"; 

中的NSRect獲取一個的NSView

任何人任何想法如何界定呢?

回答

1

NSRect不是可以「在NSView中繪製」的實體類型 - 它不是NSView的子視圖的實例。一個NSRect只是一個C struct描述大小(寬度和高度)和原點(x和y)。

使用其框架初始化NSTextField(請記住,這裏的原點與將要將文本字段添加爲子視圖的視圖相關)後,必須將其添加到您希望作爲子視圖的視圖它的超級觀點。假設一下,如果我們在NSViewController的自定義子類,你的代碼只需要這個額外的行

[self.view addSubview:label]; 
+0

感謝那些幫助我在一個NSView的一個子類,我想,所以我刪除了'.view'從'[self.view addSubview:label];'並且工作 –