2012-05-31 2 views
0

У меня есть приложение для iPad, созданное с помощью XCode 4 со Storyboard. У меня есть UITableViewController с интерфейсом, определяемой как таковой:textFieldShouldReturn not firing in iPad app

@interface CustomerViewController : UITableViewController <UITextFieldDelegate> 

В файле .m, у меня есть фрагмент кода, как:

- (BOOL) textFieldShouldReturn:(UITextField *)textField { 

if(textField == businessName) { 
    [email becomeFirstResponder]; 
    return true; 
} 

Метод «textFieldShouldReturn» не получает казнены. Что еще нужно сделать? (BTW ... Я никогда не мог заставить это работать в iPad-приложении, но всегда успешно в iPhone-приложении)

+0

Вы задаете делегат businessName для своего класса? –

+0

Какой делегат businessName? – SpokaneDude

+0

В методе textFieldShouldReturn вы тестируете, если textField равен businessName. Я предполагаю, что это объект UITextField, но вы должны установить, чтобы делегат получал обратные вызовы. –

ответ

3

В методе textFieldShouldReturn вы тестируете, если textField равен businessName. Я предполагаю, что это объект UITextField, но вы должны установить, чтобы делегат получал обратные вызовы. Просто простой self.businessName.delegate = self; когда вы создаете TextField.

Еще один совет, я бы рекомендовал назвать его чем-то вроде businessNameTextField. Его легче читать во всем коде.

+0

Получил! Я понимаю, что вы сейчас говорите ... Я только что проверил, и я действительно установил последнее текстовое поле в приложении для iPhone ... большое вам спасибо ... – SpokaneDude

1

Вы должны установить контроллер вида в качестве делегата текстового поля, просто объявив, что вам соответствует протокол, недостаточно. Если это работает на iPhone, но не на iPad, то, скорее всего, вы не связали выход делегата в раскадровку iPad, но у вас есть iPhone.

+0

Я в замешательстве ... так что для каждого из текстовых полей (и их 11) я должен назначить каждого делегата? Как мне это сделать с помощью раскадровки? И я не помню, чтобы что-то подобное делал для iPhone-приложения ... – SpokaneDude

+0

Управляет перетаскиванием из текстового поля в контроллер вашего вида (желтый круг внизу) и выберите выход делегата. – jrturton

+0

Это использование раскадровки .. нет НИБ, и нет желтого круга. Я просто проверил приложение iPHone, и он также использует Storyboard, и я не делал этого, чтобы заставить его работать ... как вы думаете, это ошибка с генерацией кода для iPad? – SpokaneDude