NSTextField新线路运营

时间:2012-02-16 16:13:37

标签: objective-c xcode macos

我希望我的NSTextField在输入上添加另一行(而不是选项 - 输入)。有没有办法做到这一点?

干杯!

2 个答案:

答案 0 :(得分:3)

NSTextField通过使用Option-Return或Option-Enter支持新的换行符。但在大多数情况下,最简单的解决方案是使用NSTextView。

答案 1 :(得分:1)

是的-通过在绑定的control中覆盖NSTextFieldDelegate,您可以拦截Enter键并使其按自己的意愿进行操作。

以下是摘自Apple开发人员门户网站上的文章"How to make NSTextField accept tab, return and enter keys."的示例:

(BOOL)control:(NSControl*)control textView:(NSTextView*)textView doCommandBySelector:(SEL)commandSelector
{
    if (commandSelector == @selector(insertNewline:))
    {
        // Insert a line-break character and don't cause the receiver
        // to end editing
        [textView insertNewlineIgnoringFieldEditor:self];
        return YES;
    }

    return NO;
}

奇怪的是,即使我们正在处理NSTextView*NSTextField也不是错字。