Mostrando postagens com marcador Stack Overflow. Mostrar todas as postagens
Mostrando postagens com marcador Stack Overflow. Mostrar todas as postagens

domingo, 6 de abril de 2014

Botão Cancelar do UISearchBarController não funciona

Enfrentei o seguinte problema hoje:

Coloquei um UISearchBarController no header da UITableView para fazer uma busca na tabela. Se eu toco no campo de busca ele joga o UISearchBar lá para cima no lugar do UINavigationController e funciona muito bem. Porém, se eu ativar o UISearchBar via código [self.searchDisplayController.searchBar becomeFirstResponder]; ele joga o o UISearchBar lá para cima também, mas não funciona o Clear Button nem o Cancel Button. 

Solução: Deslizar a tabela via código para fazer o UISearchBar aparecer na tela e depois ativar o UISearchBar. Eu não sei o porquê, talvez seja um bug do iOS, mas a impressão que deu é que ele precisa aparecer na interface para se configurar corretamente.

[self.tableView setContentOffset:CGPointMake(0, -64) animated:NO];
[self.searchDisplayController.searchBar becomeFirstResponder];

Fonte: StackOverflow

segunda-feira, 31 de março de 2014

Chamar métodos através de um NSString passando Nenhum, Um ou Mais Parâmetros

Nenhum Parâmetro e Sem Retorno:
1
2
3
4
SEL selector = NSSelectorFromString(@"someMethod"); 
IMP imp = [_controller methodForSelector:selector]; 
void (*func)(id, SEL) = (void *)imp; 
func(_controller, selector);

Um ou Mais Parâmetros e Com Retorno:
1
2
3
4
SEL selector = NSSelectorFromString(@"processRegion:ofView:");
IMP imp = [_controller methodForSelector:selector];
CGRect (*func)(id, SEL, CGRect, UIView *) = (void *)imp;
CGRect result = func(_controller, selector, someRect, someView);

Fonte: Stack Overflow