Pergunta

Eu tenho um UIActionSheet que aparece assim que a visualização inicial em minhas cargas de aplicativos para iPhone se houver dados que pode ser sincronizado de volta para um serviço web. O problema é que o UIActionSheet está aparecendo muito alto - exatamente a metade da barra de abas é exposta sob o lençol ação. Eu não estou ciente de que isso é causado por denominar? Alguém pode oferecer uma explicação / solução para evitar que isso aconteça?!

Agradecemos antecipadamente para quaisquer sugestões, o meu código aparece abaixo ...

- (void)viewDidLoad {

    //...preset a few values here, unrelated to the view...
    //...

    // Add an actionsheet to prompt for a DB sync
    if ([myDatabase isSyncPossible] == true) { 
        UIActionSheet *actionsheet = [[UIActionSheet alloc]
            initWithTitle: @"You have information that hasn't been uploaded, would you like to sync now?"
            delegate: self
            cancelButtonTitle: @"No thanks, maybe later"
            destructiveButtonTitle: @"Yes, upload now"
            otherButtonTitles: nil];
        actionsheet.tag = 2;
        [actionsheet showInView:self.view];
        [actionsheet release];
    } 
}
Foi útil?

Solução

Assumindo que eu entendo sua descrição corretamente, parece que o quadro de 'self.view' não executar todo o caminho sob a barra de abas, mas em vez disso só vai a meio. Desde a folha de acção baseia-se em parte inferior da vista ele vai começar de onde quer que vista faz. Para corrigir tornar o 'self.view.frame' ir para a parte inferior da tela.

A captura de tela ajudaria.

Outras dicas

Para a chamada showInView:, tente usar a vista de navegação ou guia vista bar em vez de vista de seu controlador.

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