使nstextfield单行

Jen*_*sen 16 cocoa line multiline interface-builder nstextfield

如何使NSTextField真的单线?

我以编程方式创建了一个文本字段.按下返回键时,将选择所有文本.但我仍然可以粘贴多行文字.当我向右箭头或向下箭头按下时,它会滚动到下一行.

如果我使用IB并设置"使用单行模式",则没有这些问题,但我找不到以编程方式设置它的正确方法.

Pet*_*sey 17

您是否尝试告诉字段的单元格设置它是否使用单行模式

[myTextField.cell setUsesSingleLineMode:YES];
Run Code Online (Sandbox Code Playgroud)


小智 6

这在以编程方式创建控件时适用于我:

[myTextField.cell setWraps:NO];
[myTextField.cell setScrollable:YES];
Run Code Online (Sandbox Code Playgroud)

请记住,自OS X 10.10简介以来,不鼓励直接访问NSControl的单元格:

逐步弃用NSCell

Mac OS X 10.10向最终弃用单元格迈出了一步.不鼓励直接访问控件的单元格,允许它的方法将在后续版本中正式弃用.各种单元级API已被提升为各种Control子类,以便提供对无重要功能的无单元访问.NSLevelIndicator,NSTextField,NSSearchField,NSSlider和NSPathControl都具有用于此目的的新属性.现在不推荐使用基于单元格的NSTableViews,而应使用基于视图的NSTableViews.基于矩阵的NSBrowser也不推荐使用基于项目的界面.

https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKit/