0

UITextField のサブクラス (TextFieldSubClass) を作成しました。以下はコードです。

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
   [UIMenuController sharedMenuController].menuVisible = NO;
//    if (action == @selector(paste:))
//        return YES;
//    if (action == @selector(select:))
//        return YES;
//    if (action == @selector(selectAll:))
//        return YES;
    return NO;
}

- (BOOL)canBecomeFirstResponder
{
    return  true;
}
- (CGRect)caretRectForPosition:(UITextPosition *)position
{

    return CGRectZero;
}

そして、他のクラスでは、XIBにテキストフィールドを追加し、プロパティウィンドウでテキストフィールドクラスをTextFieldSubClassに設定しています

このテキスト フィールドをタップすると、フォーカスが得られず、カーソルは表示されませんが、ext を入力できます。

テキストフィールドをタップしても、そのデリゲートは呼び出されませんが、デリゲートは UITextField タイプの他のテキストフィールドに対して呼び出されます

サブクラス化されたテキストフィールドにフォーカスするには?

uitextfield をダブルタップしたときに menuitem を非表示にしたいので、サブクラスを作成しました。メニュー項目は非表示になりますが、キャレットは表示されたままです。

キャレットを非表示にする方法(テキストの選択に使用される青い四角形)?

4

2 に答える 2

1

UITextField のデリゲートを設定してメソッドを実装すると簡単だと思います。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    textField.layer.borderColor = [UIColor colorWithWhite:0.768 alpha:1.000].CGColor;
    return YES;
}

あなたに応じてテキストフィールドの色を設定します。

于 2013-09-18T11:44:37.057 に答える