Domanda

ho letto nella documentazione di Apple sul comportamento di ridimensionamento del UINavigationController e non è stato un gran problema fino ad ora.

Ho il seguente codice per impostare il mio punto di vista di UINavigationController:

navController.view.frame = CGRectMake(0, 40, 320, 420);

e questo è sufficiente finché la visualizzazione è oscurata da una vista modale, a questo punto la vista viene riportata alla dimensione predefinita in una tra le chiamate di viewWillAppear e viewDidAppear (come UINavigationController eredita da UIViewController).

sto cercando di mantenere un banner visibile sopra l'UINavigationController (nello spazio 40 da 320 lasciato disponibile), ma questo banner è costantemente oscurato come descritto sopra.

C'è un modo allo scopo di sopprimere il comportamento di ridimensionamento del UINavigationController senza sottoclasse UIViewController me stesso?

È stato utile?

Soluzione

Nel costruttore di interfaccia, è possibile deselezionare la casella di controllo ridimensionamento automatico.

Nel codice, è

[myNavController.view setAutoresizesSubviews: NO];

Altri suggerimenti

Mi piacerebbe provare

myNavController.superview.autoresizesSubviews = NO

e, ovviamente, controllare myNavController.autoresizingMask

Come ultima risorsa, la sua sottoclasse superview e reimplementare layoutSubviews

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