Введите два uitextfield одновременно - PullRequest
0 голосов
/ 30 апреля 2011

Я хочу одновременно ввести два поля uitext. Это возможно?

Ответы [ 2 ]

1 голос
/ 30 апреля 2011

Вы можете сделать это, используя следующий код:

Typein2.h - класс, в котором объявлены три текстовых поля. TextField «textFieldBeingEdited» должен знать, какой textField (text1 или text2) редактируется

#import <UIKit/UIKit.h>

@interface Typein2 : UIViewController <UITextFieldDelegate> {

    UITextField *text1;
    UITextField *text2;

    UITextField *textFieldBeingEdited;

}

@property (nonatomic, retain) IBOutlet UITextField *text1;
@property (nonatomic, retain) IBOutlet UITextField *text2;

@end

В методе viewDidLoad выполните следующие действия:

- (void)viewDidLoad
{
    [super viewDidLoad];

    text1.delegate = self;
    text2.delegate = self;

    [[NSNotificationCenter defaultCenter]
     addObserver:self
     selector:@selector(changeBothFieldsText:)
     name:UITextFieldTextDidChangeNotification
     object:nil ] ;
}

Метод делегата TextField:

-(void)textFieldDidBeginEditing:(UITextField *)textField {

    if ( [textField isEqual:text1] ) {
        textFieldBeingEdited = text1;
    }
    else
        textFieldBeingEdited = text2;

}

Метод changeBothFieldsText:

-(void)changeBothFieldsText:(NSNotification*)notification {

    if ( [textFieldBeingEdited isEqual:text1] ) {
        text2.text = text1.text;
    }
    else
        text1.text = text2.text;    
}
1 голос
/ 30 апреля 2011

Я не вижу причин, по которым вы не можете перехватить изменения текста в первом UITextView, а затем изменить текст во втором. Уведомление UITextViewTextDidChangeNotification и свойство text должны дать вам то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...