Domanda

Sto cercando di creare un controller di selezione con un pulsante "Fine" posizionato appena sopra di esso, per visualizzarlo su un modulo che si trova in un'altra vista.

Ho creato una sottoclasse di UIViewController e usando IB ho aggiunto una barra degli strumenti e una vista di selezione. Questo sembra a posto e copiando gli esempi in UICatalog posso ottenerlo per visualizzare i valori richiesti e posso ascoltare le selezioni ecc.

alt text http://web.me.com/gareth.davis /so/settlement_picker_ui.png

In quanto sopra ho impostato il colore di sfondo della vista su alpha 0,0. Ho anche provato a impostare l'alfa della vista su 0,0, questo mostra solo una vista completamente trasparente.

alt text http://web.me.com/gareth.davis /so/picker_running_in_app.png

Quanto sopra è il controller di visualizzazione visualizzato nella parte superiore del mio modulo utilizzando:

    [self presentModalViewController:settlementPickerViewController                         
                        animated:YES];

Oltre a provare a impostare varie proprietà alfa della mia vista, ho anche tentato di modificare l'altezza della vista in modo tale che non fosse necessaria una sezione trasparente, il problema è che la vista è quindi posizionata a metà della schermo.

È stato utile?

Soluzione

La soluzione sembra non usare un UIViewController invece un semplice UIView personalizzato fa bene il lavoro.

Ho usato la configurazione dei colori di Haentz nel metodo awakeFromNib:

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

Nota che devi implementarlo e non usare il metodo initWithFrame che il modello x-code ti offre come viste controllate da pennino non usano initWithFrame (dalla documentazione di Apple).

Altri suggerimenti

Probabilmente non capisco, ma non capisco esattamente qual è il problema qui. Nella schermata in basso, gli elementi dell'interfaccia utente dovrebbero essere trasparenti, senza l'area bianca sopra? Devi impostare il frame di UIView in UIViewController in modo appropriato e immagino che potresti dover impostare il colore di sfondo trasparente:

self.view.backgroundColor = [UIColor clearColor];

Non sono sicuro, dal momento che non uso mai l'IB, ma potrebbe essere possibile impostare il valore Alpha del colore di sfondo della vista di base su 0. Non l'alfa della vista stessa, ma del colore di sfondo .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top