2010-07-22 23 views
5

Nella mia applicazione, ho una serie di tabelle che portano a un'immagine. In modalità verticale, c'è un pulsante nell'angolo in basso a destra, e quando seleziono lo schermo si ribalta e posso prendere appunti.Il pulsante scompare quando l'iPhone ruota

Quando ruoto l'iPhone in modalità orizzontale, questo pulsante scompare completamente.

Qualche idea?

risposta

3

Se si sta impostando la vista nel codice, utilizzare la proprietà autoresizingMask. Questo è ciò che viene impostato dai vincoli in Interface Builder. Tuttavia, è un po 'indietro rispetto a quello che vedi in Interface Builder. Se vuoi che rimanga nell'angolo in basso a destra, imposta view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin (che equivale a abilitare le molle a destra e in basso in IB. Larghezza e altezza flessibili, d'altra parte, funziona come ti aspetteresti

Fintanto che il superview ha autoresizesSubviews impostato su YES (impostazione predefinita), verrà riposizionato automaticamente quando si ruota.

1

Probabilmente è perché il pulsante è appena fuori dallo schermo. È necessario vincolarlo in Interface Builder (nella scheda size/layout della finestra Inspector) o usare setFrame: per riposizionarlo quando l'app ruota e quindi di nuovo quando ruota di nuovo.

Ogni volta che il dispositivo ruota, riposiziona gli elementi in base al codice o al modo in cui è vincolato in Interface Builder. Se non controlli il riposizionamento, allora potrebbe dare l'impressione che sia magicamente scomparso.

Problemi correlati