0

以下のコードが機能しない理由について混乱しています。私が達成したいのは、NSRect に NSTextfield を含めることですが、それが可能かどうかはわかりません。以下のコードですが、機能していません...

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

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

label.stringValue = @"Contents of NSTextfield";

NSRect は NSView で描画されます

誰でもアイデアはありますか?

4

1 に答える 1

1

NSRectは、「描画される」可能性のある種類のエンティティではありNSViewません。これは、のサブビューのインスタンスではありませんNSView。NSRectは、C structサイズ(幅と高さ)と原点(xとy)を表すだけです。

フレームを使用して初期化した後NSTextField(ここでの原点は、テキストフィールドをサブビューとして追加するビューを基準にしていることに注意してください)、スーパービューとして使用するビューに追加する必要があります。NSViewControllerのカスタムサブクラスにいると仮定すると、コードにはこの追加の行が必要です。

[self.view addSubview:label];
于 2012-10-24T15:19:46.300 に答える