【问题标题】:cocoa - add NSTextfield to NSRect可可 - 将 NSTextfield 添加到 NSRect
【发布时间】:2012-10-24 15:09:29
【问题描述】:

我很困惑为什么下面的代码不起作用,我想要实现的是在 NSRect 中有一个 NSTextfield 但我不确定它是否可能以及是否可以这样做,我尝试了下面的代码,但它不工作......

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

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

label.stringValue = @"Contents of NSTextfield";

NSRect 被绘制在一个 NSView 中

有人有什么想法吗?

【问题讨论】:

    标签: cocoa nstextfield nsrect


    【解决方案1】:

    NSRect 不是那种可以“在NSView 中绘制”的实体——它不是NSView 的子视图的实例。 NSRect 只是一个 C struct 描述大小(宽度和高度)和原点(x 和 y)。

    在用它的框架初始化你的NSTextField 之后(请记住,这里的原点是相对于你将添加文本字段作为子视图的视图),你必须将它添加到你想要的视图中作为它的superview。假设我们在 NSViewController 的自定义子类中,您的代码只需要这一行

    [self.view addSubview:label];
    

    【讨论】:

    • 感谢它帮助我加入了 NSView 的子类,我想所以我从 [self.view addSubview:label]; 中删除了 .view 并且有效
    猜你喜欢
    • 2011-12-04
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多