sto utilizzando layout automatico,iOS 8 diverso comportamento: Autolayout con view.transform = CGAffineTransformMakeScale (0.5, 0.5), vista non è posizionato correttamente
Voglio fare un piccolo UISwitch e quindi utilizzare view.transform = CGAffineTransformMakeScale(0.5, 0.5)
per realizzarla.
C'è un'altra vista sopra questo interruttore. leader di questa interruttore deve essere allineato al bordo principale di questo punto di vista, e non v'è uno spazio fisso verticale tra vista e l'interruttore, come seguente immagine:
Viste sulla iOS7
Tuttavia, v'è aspetto diverso su iOS 8:
Vista su iOS 8
sembra che i vincoli non vengono applicate a questo interruttore.
Ma ho chiamato self.view.layoutSubviews()
e self.view.layoutIfNeeded()
Non funziona.
Come lasciare che questo interruttore sia sempre inserito nell'angolo in basso a destra della vista sopra?
qui non è Interruttore delle ridimensionati
Auto non funziona con le trasformazioni strato –
@MaxMacLeod Mi stavo chiedendo perché lo stesso codice ha un comportamento diverso su iOS7 e iOS8. Penso che tu intenda questa risposta [collegamento] (http://stackoverflow.com/questions/12943107/how-do-i-adjust-the-anchor-point-of-a-calayer-when-auto-layout-is- essere-usato/14105757 # 14105757), giusto? –
Suppongo che si comporti in questo modo perché la dimensione intrinseca del contenuto di UISwitch rimane al valore predefinito w: 51px h: 31px nonostante la modifica della trasformazione della vista. Dovresti provare a sottoclassi l'UISwitch e sovrascrivere il metodo - (CGSize) intrinsicContentSize restituendo CGSizeMake (25.5f, 15.5f) –