2012-03-23 4 views
4

В моем приложении iPad у меня есть два текстовых поля. Один показывает нормальное текстовое поле по умолчанию, а другое должно отображать сборщик в качестве входного представления.UItextField Делегат не работает

Проблема в том, что я использую txt1, который отображает клавиатуру по умолчанию, а затем, когда я касаюсь второго текстового поля, клавиатура txt1 остается видимой.

Я также написал [txt1 resignFirstResponder];[txt2 resignFirstResponder]; при отображении сборщика.

Я проверил соединение txt1 IBOutlet и назначение делегата, они кажутся правильными.

Что мне не хватает?

+0

Вы не можете указали вид ввода свойство правильно в txt2., Это почему его показывая клавиатуру txt2 – HarshIT

+0

где вы написали '[txt1 resignFirstResponder]; & [txt2 resignFirstResponder]; '? – lukya

+0

Не пишите [txt2 resignFirstResponder]; для txt2 просто измените его свойство inputview – HarshIT

ответ

2

Напишите следующий код:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    if(textField == txt1) 
    { 
     return YES; 
    } 
    else 
    { 
     return NO; // Write the code for displaying UIPickerView instead of the Keyboard. 
    } 
} 

Надеется, что это может решить проблему ......

+0

Спасибо! Наконец-то решена :) – JiteshW

2

Вы должны реализовать ниже метод уволиться клавиатуры ......

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    [textField resignFirstResponder]; 
    return YES; 
} 
+0

Да, я реализовал этот метод, но он все еще не работает. – JiteshW

0

внедрили у этого метода ??

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    [textField resignFirstResponder]; 
    return YES; 
} 
0

В вашем методе viewDidLoad написать это,

txt2.inputView = pickerView; 

и другие коды resignFirstResponder должны быть размещены правильно, при этом на Tapping txt2 вы сразу получите выбор erview вместо клавиатуры.

+0

Нет, он все еще не работает. – JiteshW

+0

pickerview должен находиться внутри UIView. – HarshIT

+0

и добавьте, что UIView вместо прямого выбора – HarshIT

0

Осуществляли ли вы делегатов свойство UITextFieldDelegates в файле заголовка, если не сделать это и проверить

2
txt2.userInteractionEnabled = NO; 

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    if(textField == txt1) 
    { 
     [txt2 resignFirstResponder]; 
     // code for Hide Picker 
     return YES; 
   } 
    else { 
     // [txt2 resignFirstResponder]; 
     [txt1 resignFirstResponder]; 
     // code for go in picker 
     return YES; 
    } 
} 

for more information

Смежные вопросы