Nếu tôi hiểu chính xác mở rộng, hãy UIView
với CGAffineTransform
neo chuyển đổi đến trung tâm của nó.Quy mô với CGAffineTransform và đặt neo
Đặc biệt:
self.frame = CGRectMake(0,0,100,100);
self.transform = CGAffineTransformMakeScale(2, 2);
NSLog(@"%f;%f;%f;%f", self.frame.origin.x, self.frame.origin.y, self.frame.size.width, self.frame.size.height);
Prints:
-50;-50;200;200
Làm thế nào để bạn tạo một quy mô CGAffineTransform có sử dụng một điểm neo cụ thể (chẳng hạn 0; 0)?
Đó là lạ, tôi đang trên iOS 7 và nó không quy mô từ trung lộ nhưng nó quy mô từ phía trên cùng bên trái ... Ngay cả khi tôi đặt điểm neo thành (0,5, 0,5), nó không co giãn từ tâm. Bất cứ ai có một ý tưởng? –
@VanDuTran Tôi thấy rằng việc sử dụng 'CATransform3D' trên lớp' của lớp xem hoạt động chính xác và tuân theo 'anchorPoint'. Hãy thử điều đó thay vì sử dụng 'CGAffineTransformMakeScale', bằng cách nào đó sẽ hạn chế khung nhìn đến giới hạn trên cùng của cửa sổ và bên trái. –
@JonathanLin Tôi sử dụng lớp với CATransform3D cũng không có may mắn trên phương thức iOS 7 – ZYiOS