Swiftを使用したUITextField内の編集不可能なプレフィックス

アルミニウム

UITextField新しいSwift言語を使用した内部でのプレフィックスの作成に関して問題が発生しています。現在、私は作成したUITextFieldインタフェースBuilderを使用し、私が割り当てられているIBOutlet名前の、それにusernameFieldの後、使用して、textFieldDidBeginEditing私が書く機能をNSMutableAttributedString名付け、内部にそれをusernamePrefixのみ言葉「C-TAD-」を含む、そして最終的に私が制限されUITextField、最大文字数をそのように13に数:

class ViewController: UIViewController, UITextFieldDelegate {

    @IBOutlet var usernameField : UITextField!

    private var usernamePrefix = NSMutableAttributedString(string: "C-TAD-")

    func textFieldDidBeginEditing(textField: UITextField) {
        if textField == usernameField {
            if usernameField.text == "" {
                usernameField.attributedText = usernamePrefix
            }
        }

        usernameField.addTarget(self, action: "textFieldDidChangeText:", forControlEvents:UIControlEvents.EditingChanged)
    }

    func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool {
        let maxUsernameLength = countElements(usernameField.text!) + countElements(string!) - range.length

        return maxUsernameLength <= 13
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        usernameField.delegate = self
        passwordField.delegate = self
    }
}

さて、?で書かれたテキストに2つの異なる色を与える必要があるためにusernamePrefix新しいパラメータを割り当てるにはどうすればよいUITextFieldですか?プレフィックスを.lightGreyColor()に、残りをに入れたいの.blackColor()ですが。また、usernamePrefixをユーザーが編集および削除できないようにするにはどうすればよいですか?

助けてくれてありがとう

ジェレミー・ポープ

最初の部分では、次のようにデリゲートメソッドをリファクタリングできます。

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    //This makes the new text black.
    textField.typingAttributes = [NSForegroundColorAttributeName:UIColor.blackColor()]
    let protectedRange = NSMakeRange(0, 6)
    let intersection = NSIntersectionRange(protectedRange, range)
    if intersection.length > 0 {

        return false
    }
    if range.location == 12 {
        return true
    }
    if range.location + range.length > 12 {
        return false
    }
    return true
}

これにより、長さが13に固定され、プレフィックスを削除できなくなります。入力されるものはすべてUIColor.blackColor()になります

次に、viewDidLoadで次のようなメソッドを使用して、プレフィックスを設定できます。

func makePrefix() {
    let attributedString = NSMutableAttributedString(string: "C-TAD-")
    attributedString.addAttribute(NSForegroundColorAttributeName, value: UIColor.lightGrayColor(), range: NSMakeRange(0,6))
    textField.attributedText = attributedString
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

編集不可能なサフィックスをSwiftUITextFieldに追加する

分類Dev

contanteditable要素内に編集不可能なブロックを作成します

分類Dev

Webixコンボボックスの編集不可能なテキストフィールド

分類Dev

編集不可能なフィールドにキャレットの位置を表示する

分類Dev

パブリックプライベートフィールドのパラドックスのため、Junit @Ruleを使用したCdiUnitテストは不可能

分類Dev

編集不可能なNSButton-チェックボックス

分類Dev

ユーザーがUITextFieldに入力した後に編集不可能なラベルを追加する-iOS

分類Dev

スワップ機能を使用せずに編集不可能な文字列を反転する

分類Dev

入力ボックスのカーソルの後に編集不可能なテキストを追加する

分類Dev

QTableView:プログラム内の編集不可能なセルを編集する方法は?

分類Dev

cshtml:編集不可能なテキストボックスにMM / dd / yyyy形式で日付を表示します

分類Dev

Quillの編集不可能なブロック内に編集可能なテキストのブロックを追加するにはどうすればよいですか?

分類Dev

MSAccessチャートの編集不可能な変換された行ソースがソート順をリセットし続ける

分類Dev

C ++で変更不可能なレポートファイルを作成するためのベストプラクティス

分類Dev

Angular6フォーム内のすべての入力の編集不可能な要素を作成する方法

分類Dev

CKEditor編集不可能なHTMLをスタイル内に挿入

分類Dev

Itext 7を使用してアクロフィールドに入力した後、編集可能なPDFを編集不可/読み取り専用に

分類Dev

pathinfo()と書き込み不可能なディレクトリを使用した共有ホスティングに関するLaravel5の問題

分類Dev

編集不可能な入力フィールド

分類Dev

JavafxTextAreaの編集不可能な行

分類Dev

qtableview の編集不可能なセル

分類Dev

ストアキットを使用した更新不可能なサブスクリプションの有効期限の設定

分類Dev

SQL-列の値型をfinalにする-タイムスタンプの変更不可能な編集

分類Dev

編集不可能なフォームでチェックボックスを垂直に配置するにはどうすればよいですか?

分類Dev

Yesodを使用した構成可能なパスプレフィックス

分類Dev

空の編集不可能なpg_hba.confファイル

分類Dev

Djangoのカスタム管理フォームに編集不可能なフィールドを追加するにはどうすればよいですか

分類Dev

Firefoxが編集不可能なテキストにIビームを配置するのを停止します

分類Dev

編集不可能なテキストを挿入するRubyMine

Related 関連記事

  1. 1

    編集不可能なサフィックスをSwiftUITextFieldに追加する

  2. 2

    contanteditable要素内に編集不可能なブロックを作成します

  3. 3

    Webixコンボボックスの編集不可能なテキストフィールド

  4. 4

    編集不可能なフィールドにキャレットの位置を表示する

  5. 5

    パブリックプライベートフィールドのパラドックスのため、Junit @Ruleを使用したCdiUnitテストは不可能

  6. 6

    編集不可能なNSButton-チェックボックス

  7. 7

    ユーザーがUITextFieldに入力した後に編集不可能なラベルを追加する-iOS

  8. 8

    スワップ機能を使用せずに編集不可能な文字列を反転する

  9. 9

    入力ボックスのカーソルの後に編集不可能なテキストを追加する

  10. 10

    QTableView:プログラム内の編集不可能なセルを編集する方法は?

  11. 11

    cshtml:編集不可能なテキストボックスにMM / dd / yyyy形式で日付を表示します

  12. 12

    Quillの編集不可能なブロック内に編集可能なテキストのブロックを追加するにはどうすればよいですか?

  13. 13

    MSAccessチャートの編集不可能な変換された行ソースがソート順をリセットし続ける

  14. 14

    C ++で変更不可能なレポートファイルを作成するためのベストプラクティス

  15. 15

    Angular6フォーム内のすべての入力の編集不可能な要素を作成する方法

  16. 16

    CKEditor編集不可能なHTMLをスタイル内に挿入

  17. 17

    Itext 7を使用してアクロフィールドに入力した後、編集可能なPDFを編集不可/読み取り専用に

  18. 18

    pathinfo()と書き込み不可能なディレクトリを使用した共有ホスティングに関するLaravel5の問題

  19. 19

    編集不可能な入力フィールド

  20. 20

    JavafxTextAreaの編集不可能な行

  21. 21

    qtableview の編集不可能なセル

  22. 22

    ストアキットを使用した更新不可能なサブスクリプションの有効期限の設定

  23. 23

    SQL-列の値型をfinalにする-タイムスタンプの変更不可能な編集

  24. 24

    編集不可能なフォームでチェックボックスを垂直に配置するにはどうすればよいですか?

  25. 25

    Yesodを使用した構成可能なパスプレフィックス

  26. 26

    空の編集不可能なpg_hba.confファイル

  27. 27

    Djangoのカスタム管理フォームに編集不可能なフィールドを追加するにはどうすればよいですか

  28. 28

    Firefoxが編集不可能なテキストにIビームを配置するのを停止します

  29. 29

    編集不可能なテキストを挿入するRubyMine

ホットタグ

アーカイブ