Mac版Cocoaでテキストラベルを作成する方法

テキストラベルを作成したいといった場合、iOSのUIKitには予めUILabelが用意されていますが、OSXのAppKitにはNSLabelがありません。

NSTextFieldで代用せよ

Macの世界ではNSTextFieldで代用します。

NSTextField *label = [NSTextField.alloc initWithFrame:NSMakeRect(0, 0, 50, 22)];
label.stringValue = @"Label";
label.drawsBackground = NO; // 背景無し
label.bordered = NO;        // 外枠無し
label.editable = NO;        // 編集不可
label.selectable = NO;      // 選択不可

背景と外枠の描画をオフにしてなおかつ編集不可状態にしているところが肝です。

selectableは必要に応じて不可にします。borderdの代わりにbezeledプロパティを使っても良いです。
広告
広告