kładę moją odpowiedź w podobnym formacie this answer.
Oto oryginalna etykieta:

Obrót o 90 stopni w kierunku ruchu wskazówek zegara:
yourLabelName.transform = CGAffineTransform(rotationAngle: CGFloat.pi/2)

Obrót o 180 stopni:
yourLabelName.transform = CGAffineTransform(rotationAngle: CGFloat.pi)

Obrót 90 stopni w lewo:
yourLabelName.transform = CGAffineTransform(rotationAngle: -CGFloat.pi/2)

Czy to samo obracanie przycisku. Na szczęście wydarzenia dotykowe również zostają obrócone, więc przycisk wciąż można klikać w nowe granice bez konieczności wykonywania dodatkowych czynności.
yourButtonName.transform = CGAffineTransform(rotationAngle: CGFloat.pi/2)
Uwagi:
Dokumentacja dla CGAffineTransform
Format podstawowy jest CGAffineTransform(rotationAngle: CGFloat)
gdzie rotationAngle
jest w radianach, a nie stopni.
Istnieją 2π radianów w pełnym kole (360 stopni). Swift zawiera użyteczną stałą CGFloat.pi
.
CGFloat.pi
= gatunku = 180 stopni
CGFloat.pi/2
= p/2 = 90 stopni
Auto Layout:
Auto układ nie działa z obróconych widokami. (Aby uzyskać wyjaśnienie przyczyn, patrz: Frame vs Bounds). Ten problem można rozwiązać, tworząc niestandardowy widok. This answer pokazuje, jak to zrobić dla UITextView
, ale jest to ta sama podstawowa koncepcja etykiety lub przycisku. (Zauważ, że będziesz musiał usunąć linię CGAffineTransformScale
w tej odpowiedzi, ponieważ nie ma potrzeby odzwierciedlania tekstu.)
Podobne
zrobiłem to samo dla mojego imageview.But mój obraz skalowany uzyskiwanie (małe lub duże) .jak zrobić dla imageviews ..? – Madhumitha