Pergunta

Usando o iPhone SDK 3.0, eu desejo para permitir a entrada de texto com (opcional) opções de conclusão que aparecem como digitação está ocorrendo, ou seja, também permitindo a entrada freeformat. Como tal, eu estou usando um UISearchBar (que tem os eventos de alteração de texto) e uma UISearchDisplayController a opções presentes.

Os problemas é que eu quero o botão Done para dizer feito e não busca, no entanto, não consigo encontrar uma maneira de definir isso. É evidente que eu sinto que eu estou faltando alguma coisa, ou Interface Builder da API SDK teria alguma propriedade para definir.

Eu vi outros aplicativos (na loja) que alcançaram o resultado que eu quero (entrada de formato livre, conclusão, botão DONE) para que talvez há uma abordagem alternativa que eu estou ausente. Agradecemos antecipadamente por qualquer ponteiros.

Foi útil?

Solução

+1 Para a resposta de wal, mas para estar no lado seguro, e devidamente reagir a possíveis alterações na hierarquia vista em novos lançamentos considerar usando este código:

NSArray *subviews = [<searchBar> subviews] ;
for(id subview in subviews) {
    if([subview isKindOfClass:[UITextField class]]) {
        [(UITextField*)subview setReturnKeyType:UIReturnKeyDone];
    }
}

Outras dicas

Apenas teve que implementar exatamente isso e não conseguimos encontrar grandes respostas em qualquer lugar ... então eu pensei que eu iria fornecer algum insight. Percorrendo o depurador e cavando UISearchBar é bastante óbvio. Eu só acabou encontrando o UITextView dentro dos subviews UISearchBar e nesse ponto, então você deve ser capaz de definir o returnkeytype em que UITextView uma vez que você obter uma alça sobre ele.

Psuedocode- UISearchBarObject.SubViewAtIndexOfUITextField.ReturnKeyType = UIReturnKeyType.Done

Coloque esse código em viewDidLoad.

- (void)viewDidLoad {
...

NSArray *subviews = [self.searchDisplayController.searchBar subviews] ;
UITextField *searchField = [subviews objectAtIndex:([subviews count]-2)];
[searchField setReturnKeyType:UIReturnKeyDone];

...
}

Odd, UISearchBar deve apoiar os UITextInputTraits interface como UITextField e UITextView fazer (ele não diz que ele faz na documentação) e, portanto, deve ter returnKeyType . Eu ia tentar de qualquer maneira.

Se isso não acontecer, talvez um dos objetos que UISearchBar utiliza tem esta opção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top