Tôi đang sử dụng bố trí ô tô,iOS8 hành vi khác nhau: Autolayout với view.transform = CGAffineTransformMakeScale (0.5, 0.5), xem không được đặt đúng vị trí
Tôi muốn thực hiện một UISwitch nhỏ hơn và sau đó sử dụng view.transform = CGAffineTransformMakeScale(0.5, 0.5)
để nhận ra nó.
Có một chế độ xem khác phía trên công tắc này. hàng đầu này chuyển đổi nên được sắp xếp để cạnh hàng đầu của quan điểm này, và có một không gian cố định theo chiều dọc giữa xem và chuyển đổi, như hình sau:
Quan điểm về iOS7
Tuy nhiên, có sự xuất hiện khác nhau trên iOS8:
Quan điểm về iOS8
có vẻ như những hạn chế không được áp dụng để chuyển đổi này.
Nhưng tôi gọi self.view.layoutSubviews()
và self.view.layoutIfNeeded()
Nó không làm việc.
Làm cách nào để chuyển đổi này luôn được gắn vào góc dưới cùng bên phải của chế độ xem ở trên?
Dưới đây là chuyển đổi không thu nhỏ lại
Auto Layout không làm việc với biến đổi lớp –
@MaxMacLeod Tôi chỉ tự hỏi tại sao cùng một mã có hành vi khác nhau trên iOS7 và iOS8. Tôi nghĩ rằng bạn có nghĩa là câu trả lời này [link] (http://stackoverflow.com/questions/12943107/how-do-i-adjust-the-anchor-point-of-a-calayer-when-auto-layout-is- đang được sử dụng/14105757 # 14105757), phải không? –
Tôi đoán nó hoạt động như vậy bởi vì kích thước nội dung nội tại của UISwitch vẫn ở mặc định w: 51px h: 31px bất chấp thay đổi của biến đổi chế độ xem. Bạn nên cố gắng phân lớp UISwitch và ghi đè phương thức (CGSize) intrinsicContentSize bằng cách trả về CGSizeMake (25.5f, 15.5f) –