Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 使nstextfield成为单行_Cocoa_Interface Builder_Line_Multiline_Nstextfield - Fatal编程技术网

Cocoa 使nstextfield成为单行

Cocoa 使nstextfield成为单行,cocoa,interface-builder,line,multiline,nstextfield,Cocoa,Interface Builder,Line,Multiline,Nstextfield,如何使NSTextField真正成为单行 我以编程方式创建了一个文本字段。按下返回键时,将选择所有文本。但我仍然可以粘贴多行文本。当我按下向右箭头或向下箭头时,它会滚动到下一行 如果我使用IB并设置“使用单行模式”,则不会出现这些问题,但我找不到正确的方法以编程方式设置它 你试过告诉我吗 这在以编程方式创建控件时适用: [myTextField.cell setWraps:NO]; [myTextField.cell setScrollable:YES]; 请记住,自OS X 10.10推出以

如何使NSTextField真正成为单行

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

如果我使用IB并设置“使用单行模式”,则不会出现这些问题,但我找不到正确的方法以编程方式设置它

你试过告诉我吗


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

[myTextField.cell setWraps:NO];
[myTextField.cell setScrollable:YES];
请记住,自OS X 10.10推出以来,不鼓励直接访问NSControl的计算单元:

NSCell的逐渐退化

MacOSX10.10朝着最终不赞成的方向又迈出了一步 细胞。不鼓励直接访问控件的单元格,并且 允许它的方法将在以后的版本中正式弃用 释放。各种单元级API已推广到各种应用程序 控制子类以提供对重要数据的无单元访问 功能。NSLevelIndicator、NSTextField、NSSearchField、NSSlider、, 和NSPathControl都具有用于此目的的新属性。基于细胞的 NSTableViews现在已被弃用,基于视图的NSTableViews应该被弃用 用它来代替。基于矩阵的NSB浏览器也被弃用,取而代之的是 基于项的界面


IB做了很多神奇的默认设置,您有时可以检查xib以查看什么是键值对set@GradyPlayer是的,问题是我想用编程的方式设置它。比我找到的解决方案简单得多,它是附加一个nsformatter。现在如果默认情况下只禁用换行,当你打字时,字符向左移动。。。哦,太好了,使用
textField.cell.scrollable=YES
可以满足我的需要。您知道有没有办法将文本字段设置为可滚动而不访问其单元格?在文本字段(与单元格相反)上调用
setUseSingleLineMode:
不会使其可滚动。Control+输入make textfield两行。
[myTextField.cell setWraps:NO];
[myTextField.cell setScrollable:YES];