10

UITextField数値 (0-9、.、-) のみを表示する があります。ユーザーがテキスト フィールドの内容を選択すると、「コピー」、「貼り付け」、および「定義」のメニューが表示されます。テキストフィールドには数値しか表示されないため、「定義」オプションを表示したくありません。で辞書の「定義」オプションを無効にするにはどうすればよいUITextFieldですか?

編集:これを解決し、以下に解決策を投稿しました

4

4 に答える 4

5

スイフト - iOS 8

UITextField をサブクラス化し、canPerformAction:WithSenderメソッドをオーバーライドすることで実行できます。

class MyTextFieldWithoutDefine: UITextField {
    override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool {
        if action == "_define:" {
            return false
        }

        return super.canPerformAction(action, withSender: sender)
    }
}

すべてのアクションのリスト:

cut:
copy:
select:
selectAll:
paste:
delete:
_promptForReplace:
_transliterateChinese:
_showTextStyleOptions:
_define:
_addShortcut:
_accessibilitySpeak:
_accessibilitySpeakLanguageSelection:
_accessibilityPauseSpeaking:
makeTextWritingDirectionRightToLeft:
makeTextWritingDirectionLeftToRight:
于 2015-07-29T13:43:40.970 に答える
-1

NIB を使用する場合は、UITextField の「Correction」プロパティを「NO」に設定します (デフォルト値は YES)。

コードを使用する場合は、「autocorrectionType」を「UITextAutocorrectionTypeNO」に設定します。

于 2012-09-29T02:13:50.307 に答える
-2

これを試して:

UITextField* textField = //...;
textField.autocorrectionType = UITextAutocorrectionTypeNo;
于 2012-09-29T01:07:00.793 に答える