Pergunta

Eu gostaria de um UITextField a aparecer quando um botão é pressionado. Infelizmente, eu não posso escondê-lo em Interface Builder e, em seguida, definir a propriedade oculta para NO mais tarde porque "ibtool falha com código de saída 5" se você tentar esconder um UITextField.

Vou tentar fazer isso no código, mas querendo saber se eu pode estar faltando alguma coisa ou fazer um erro UI túmulo tentando fazer algo assim? Ou talvez seja apenas um bug?!?

Foi útil?

Solução

Se você não pode configurá-lo para escondido em IB, pode fazê-lo através de programação, com field.hidden = YES; em seu método viewDidLoad de viewController. Em seguida, basta configurá-lo de volta para NO em ação alvo do botão.

Outras dicas

estranho, mas você pode simplesmente adicioná-lo programaticamente, e mostrá-lo com alguma animação de opacidade.

Ou, simplesmente definir sua alpha para 0.0. Você pode até mesmo muito facilmente animar a mudança e ele vai olhar muito bom.

Eu apenas tentei adicionar um UITextField em IB e verificar a caixa de hidden, e não obteve acidente. Claro, eu estou correndo o SDK 3.0 beta, por isso pode ser um erro que foi corrigido lá. De qualquer maneira, porém, você deve ser capaz de simplesmente marcá-lo como oculto e, em seguida, no conjunto de códigos hidden = NO. Não estou certo porque ele não está funcionando para você, sem mais informações.

Sim, parece um bug, mas uma possível simples solução é simplesmente torná-lo esvaziar, ou seja, dar-lhe nenhum valor string no IB e conjunto que valor da cadeia (via NSLocalizedString() é claro) quando você quer que ele 'aparecer' .

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