Pergunta

Estou tentando criar um controlador de seleção com um botão 'pronto' posicionado logo acima dele, exibir um formulário que está em outra visualização.

Eu criei uma subclasse do UIViewController e, usando o IB, adicionei uma barra de ferramentas e uma visualização do selecionador. Isso parece bom e, copiando os exemplos no Uicatalog, posso obtê -lo para exibir os valores necessários e posso ouvir para seleções etc.

ALT TEXTO http://web.me.com/gareth.davis/so/settlement_picker_ui.png

No exposto, eu definei a cor de fundo da vista para ser alfa 0,0. Eu também tentei definir o alfa da visualização que é para 0,0, isso apenas exibe uma visão completamente transparente.

ALT TEXTO http://web.me.com/gareth.davis/so/picker_running_in_app.png

O exposto acima está o controlador de exibição exibido por cima do meu formulário usando:

    [self presentModalViewController:settlementPickerViewController                         
                        animated:YES];

Além de tentar definir várias propriedades alfa da minha opinião, também tentei alterar a altura da vista para que não haja necessidade de uma seção transparente, o problema é que a visualização está posicionada na metade da tela.

Foi útil?

Solução

A solução parece não ser usar um UIViewController, em vez de um simples UIView personalizado faz o trabalho bem.

Eu usei a configuração de cores de Haentz no método AwakeFromnib:

- (void)awakeFromNib {
    picker.delegate = self;
    self.backgroundColor = [UIColor clearColor];    
}

Observe que você deve implementar isso e não usar o método initWithFrame que o modelo de código X fornece como visualizações controladas por NIB não usam o initWithFrame (da documentação da Apple).

Outras dicas

Provavelmente eu simplesmente não entendo, mas não entendo exatamente qual é o problema aqui. Na captura de tela inferior, os elementos da interface do usuário devem ser transparentes, sem a área branca acima? Você precisa definir o quadro do UIView no seu UIViewController adequadamente e acho que você pode precisar definir a cor transparente em segundo plano:

self.view.backgroundColor = [UIColor clearColor];

Não tenho certeza, já que nunca uso o IB, mas pode ser possível definir o valor alfa da cor de fundo da vista base para 0. Não é o alfa da própria vista, mas da cor de fundo.

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