2013-09-18 4 views
2

У меня возникла проблема с моим поисковым предупреждением при использовании вкладки поиска. Когда кто-то печатает свою строку поиска и нажимает кнопку возврата, она будет только отбрасывать клавиатуру, и вам все равно придется вставить кнопку «Поиск» (Zoek), фактически запустив веб-поиск.UIAlertView уволить по возвращении

Вот мой код:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
NSString *inputText = [[alertView textFieldAtIndex:0] text]; 
if([inputText length] >= 1) 
{ 
    [searchview addSubview:indicator]; 
    NSString *urlAddress= @"http://www.sportdirect.com/articles?search="; 
    urlAddress =[urlAddress stringByAppendingString:inputText]; 
    NSURL *url= [NSURL URLWithString:urlAddress]; 
    NSURLRequest *requestObj= [NSURLRequest requestWithURL:url]; 
    [searchview loadRequest:requestObj]; 
    [[searchview scrollView] setBounces: NO]; 
    timer = [NSTimer scheduledTimerWithTimeInterval:(1.0/2.0) target:self selector:@selector(loading) userInfo:nil repeats:YES]; 
    [TestFlight passCheckpoint:@"Voerde zoekopdracht uit"]; 

} 
} 

-(BOOL)textFieldShouldReturn:(UITextField*)textField; 
{ 
[_message dismissWithClickedButtonIndex:(0) animated:YES]; 
NSString *inputText = [[_message textFieldAtIndex:0] text]; 
if([inputText length] >= 1) 
{ 
    [searchview addSubview:indicator]; 
    NSString *urlAddress= @"http://www.sportdirect.com/articles?search="; 
    urlAddress =[urlAddress stringByAppendingString:inputText]; 
    NSURL *url= [NSURL URLWithString:urlAddress]; 
    NSURLRequest *requestObj= [NSURLRequest requestWithURL:url]; 
    [searchview loadRequest:requestObj]; 
    [[searchview scrollView] setBounces: NO]; 
    timer = [NSTimer scheduledTimerWithTimeInterval:(1.0/2.0) target:self selector:@selector(loading) userInfo:nil repeats:YES]; 
    [TestFlight passCheckpoint:@"Voerde zoekopdracht uit"]; 

} 

[textField resignFirstResponder]; 
return NO; // We do not want UITextField to insert line-breaks. 
} 

Кто-нибудь знает, как на самом деле сделать поиск как только кнопка возврата на клавиатуре вкладками?

Заранее благодарен!

ответ

0

Ваш класс должен реализовать UITextFieldDelegate, чтобы получить обратный вызов обратной связи с клавиатурой. Как было предложено borrden, это может быть сделано следующим образом

[message textFieldAtIndex:0].delegate = self; 

Затем реализовать этот метод,

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    // Dismiss the alert view 
    // Initiate the search 
    return YES; 
} 

Используйте этот метод UIAlertView. См Apple docs

- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated 

Зов это на оповещения экземпляра вида, когда требуется, чтобы отклонить его программно. Вам потребуется оставить message в качестве ivar для доступа к нему, если потребуется.

Надеюсь, что это поможет!

+0

Сначала вы должны будете установить TextField делегата на ваш контроллер представления, так что вы знаете, когда кнопка возврата была presed. Вы можете получить это через '[message textFieldAtIndex: 0]' – borrrden

+0

@borrrden Действительно, позвольте мне добавить это к моему ответу. – Amar

+0

Это не ответ на вопрос: «Кто-нибудь знает, как на самом деле выполнять поиск, как только кнопка возврата на клавиатуре вставлена ​​в закладки?» , Это ответ на нажатие кнопки UIAlertView – incmiko

0

Вы можете сделать это в методе UITextField делегата:

ваш класс должен реализовать UITextFieldDelegate. набор textField.delegate = self;

После реализации этого метода:

-(BOOL)textFieldShouldReturn:(UITextField*)textField; 
{ 
    // here you can write what you want, for example search 

    [textField resignFirstResponder]; 

    return NO; // We do not want UITextField to insert line-breaks. 
} 
Смежные вопросы