how to make NSTextField really single line?
I created a text field programmatically. when the return key is pressed, all text is selected. but I can still paste multiple lines of text. And when I press Arrow-right or Arrow down, it scroll to the next line.
There aren't these issues if I use IB and set the "use single line mode", but I couldn't find the right method to set it programmatically.
Have you tried telling the field's cell to set whether it uses single-line mode?
[myTextField.cell setUsesSingleLineMode:YES];
This works for me when programmatically creating controls:
[myTextField.cell setWraps:NO];
[myTextField.cell setScrollable:YES];
Keep in mind that direct access to NSControl's cell has been discouraged since OS X 10.10 introduction:
Gradual deprecation of NSCell
Mac OS X 10.10 takes another step towards the eventual deprecation of cells. Direct access to the cell of a control is discouraged, and methods which allow it will be formally deprecated in a subsequent release. A variety of cell-level APIs have been promoted to various Control subclasses in order to provide cell-free access to important functionality. NSLevelIndicator, NSTextField, NSSearchField, NSSlider, and NSPathControl all have new properties for this purpose. Cell-based NSTableViews are now deprecated, and view-based NSTableViews should be used instead. Matrix-based NSBrowsers are also deprecated in favor of the item-based interface.
https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKit/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With