2012-11-08 20 views
5

Tôi muốn xoay một IMAGExem sử dụng đoạn mã sau:tại sao CGAffineTransformRotate trong autolayout sẽ thay đổi chế độ xem hoạt ảnh?

[UIView animateWithDuration:.25 animations:^{ 
    self.imageView.transform = CGAffineTransformRotate(self.plusView.transform, M_PI_4); 
}]; 

điều có dây là: nếu tôi chạy mã này mà không cần bố trí ô tô, tất cả mọi thứ là tốt. nhưng khi sử dụng autolayout, xem hình ảnh thay đổi một điểm ảnh trước khi xoay, tại sao?

Trả lời

4

Khi sử dụng bố cục tự động trong Xcode 5, bạn cần phải thêm một ràng buộc để sửa trung tâm ngang và tâm dọc của imageView trong vùng chứa của nó. Nếu bạn đang sử dụng bảng phân cảnh, điều này có thể dễ dàng thực hiện với các tùy chọn ràng buộc. Bạn cũng sẽ cần phải sửa chiều rộng và chiều cao với các ràng buộc nếu bạn không muốn tự động thay đổi kích thước của imageView.

Pin the center of a view with constraints in Storyboard

Fix the size of a view with constraints in Storyboard

0

tôi không có danh tiếng bình luận về câu trả lời của chazzwozzer (tài khoản của tôi đã thiết lập lại với những thay đổi gần đây lên Facebook đăng nhập). Câu trả lời đó làm việc tốt cho tôi .. bằng cách đặt điều khiển đã được chuyển thành một UIView có những ràng buộc khác nhau về nó. Sau đó, điều khiển đã được chuyển đổi được đặt thành Trung tâm ngang và dọc trong chế độ xem đó.

FYI .. thay đổi về chuyển đổi KHÔNG xảy ra trên iOS 8 sau này .. chỉ trên iOS 7.1.

Các vấn đề liên quan