ich Auto Layout verwenden,iOS8 unterschiedliches Verhalten: Automatische Anordnung mit view.transform = CGAffineTransformMakeScale (0,5, 0,5), Ansicht positioniert ist nicht richtig
ich einen kleineren UISwitch machen will und dann view.transform = CGAffineTransformMakeScale(0.5, 0.5)
es zu erkennen, zu verwenden.
Es gibt eine andere Ansicht über diesem Schalter. dieser führend des Switch sollte diese Ansicht der Vorderkante ausgerichtet werden, und es gibt einen festen vertikalen Raum zwischen Ansicht und Schaltern, wie folgendem Bild:
Ansichten auf iOS7
Es gibt jedoch unterschiedliches Aussehen auf iOS8:
Ansichten auf iOS8
Scheinen, wie Einschränkungen auf diesen Schalter nicht angewandt werden.
Aber ich rief self.view.layoutSubviews()
und self.view.layoutIfNeeded()
Es funktioniert nicht.
Wie wird dieser Schalter immer an die rechte untere Ecke der obigen Ansicht geklebt?
wird der Schalter Hier nicht verkleinert
Auto-Layout nicht mit Schicht-Transformationen arbeiten –
@MaxMacLeod Ich frage mich nur, warum der gleiche Code hat unterschiedliche Verhalten auf iOS7 und iOS8. Ich denke du meinst diese Antwort [link] (http://stackoverflow.com/questions/12943107/how-do-i-adjust-the-anchor-point-of-a-calayer-when-auto-layout-is- gebraucht/14105757 # 14105757), richtig? –
Ich denke, es verhält sich so, weil die intrinsische Inhaltsgröße des UISwitch trotz der Änderung der Ansichtstransformation auf dem Standardformat w: 51px h: 31px bleibt. Sie sollten versuchen, den UISwitch abzuleiten und die Methode - (CGSize) intrinsicContentSize durch Zurückgeben von CGSizeMake (25.5f, 15.5f) zu überschreiben. –