NSTextFieldを本当に1行にする方法は?
プログラムでテキスト フィールドを作成しました。リターン キーを押すと、すべてのテキストが選択されます。それでも複数行のテキストを貼り付けることができます。右矢印または下矢印を押すと、次の行にスクロールします。
IB を使用して「単一行モードを使用」を設定した場合、これらの問題はありませんが、プログラムで設定する正しい方法が見つかりませんでした。
NSTextFieldを本当に1行にする方法は?
プログラムでテキスト フィールドを作成しました。リターン キーを押すと、すべてのテキストが選択されます。それでも複数行のテキストを貼り付けることができます。右矢印または下矢印を押すと、次の行にスクロールします。
IB を使用して「単一行モードを使用」を設定した場合、これらの問題はありませんが、プログラムで設定する正しい方法が見つかりませんでした。
フィールドのセルに、単一行モードを使用するかどうかを設定するように指示してみましたか?
[myTextField.cell setUsesSingleLineMode:YES];
これは、プログラムでコントロールを作成するときに機能します。
[myTextField.cell setWraps:NO];
[myTextField.cell setScrollable:YES];
OS X 10.10 の導入以降、NSControl のセルへの直接アクセスは推奨されていないことに注意してください。
NSCell の段階的な非推奨
Mac OS X 10.10 は、セルの最終的な非推奨に向けてさらに一歩踏み出しました。コントロールのセルへの直接アクセスはお勧めできません。それを可能にするメソッドは、その後のリリースで正式に廃止される予定です。重要な機能へのセルフリー アクセスを提供するために、さまざまなセルレベル API がさまざまな Control サブクラスに昇格されました。NSLevelIndicator、NSTextField、NSSearchField、NSSlider、および NSPathControl にはすべて、この目的のための新しいプロパティがあります。セルベースの NSTableView は非推奨になりました。代わりにビューベースの NSTableView を使用する必要があります。マトリックスベースの NSBrowsers も廃止され、アイテムベースのインターフェイスが優先されます。
https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKit/