Какао - добавить NSTextfield в NSRect
Я не понимаю, почему приведенный ниже код не работает. Я бы хотел, чтобы в NSRect было поле NSText, но я не уверен, возможно ли это, и если это так, я попытался: код ниже, но он не работает...
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];