Video: Hướng Dẫn Cách Xóa Cập Nhật Phần Mềm Trên IOS. 2025
Ở đây, bạn tìm hiểu cách xoay chế độ xem (trong trường hợp này, xoay xe) trong ứng dụng iOS của bạn. Để làm như vậy, bạn cập nhật đoạn mã xoay vòng mà bạn đã bắt đầu bằng và thay thế nó bằng mã đậm.
- (void) luân phiên ( CGAffineTransform transform = CGAffineTransformMakeRotation (M_PI); void (^ animation) () = ^ () { tự. xe . biến đổi = biến đổi; }; void (^ hoàn thành) (BOOL) = ^ (BOOL đã hoàn thành) { [self returnCar]; }; [UIView animateWithDuration: 3 hoạt hình: hoạt hình hoàn thành: hoàn thành]; }
Phương pháp này sử dụng các khai báo khối.
biến đổi affine - một kế hoạch chi tiết các điểm trong một bản đồ hệ toạ độ tới các điểm trong một hệ tọa độ khác. Mặc dù CGAffineTransform có một số sử dụng (chẳng hạn như mở rộng và dịch một hệ tọa độ), chỉ có một trong số đó được sử dụng trong Ví dụ 10-3: CGAffineTransformMakeRotation (M_PI)Để xoay một khung nhìn, bạn xác định góc (theo đơn vị radian) để xoay trục hệ trục. Trong khi độ là số giữa 0 và 360, radian, mặc dù tương tự, dao động từ 0 đến 2π. Vì vậy, khi bạn tạo một vòng quay quay một đối tượng xung quanh một nửa vòng tròn, vòng quay bằng radian là pi. (M_PI là hằng số hệ thống đại diện cho pi.)
Kết quả cuối cùng của Listing 10-3 là chiếc xe sẽ quay 180 độ trong vòng 3 giây, và khi nó đã xong, bạn sẽ gửi thông báo returnCar trong trình xử lý hoàn thành.
Để trả lại xe về vị trí ban đầu, hãy thêm đoạn mã in đậm vào phương thức returnCar trong TestDriveController. m.
Trung tâm CGPoint = CGPointMake (tự nhìn thấy trung tâm, x, tự nhìn khung) chiều cao -. kích thước chiều cao ); void (^ animation) () = ^ () { tự. xe. trung tâm = trung tâm; }; void (^ hoàn thành) (BOOL) = ^ (BOOL đã hoàn thành) { [self continueRotation]; }; [UIView animateWithDuration: 3 hoạt hình: hoạt hình hoàn thành: hoàn thành]; } Cách tiếp cận này khá giống với phương pháp testDrive, ngoại trừ trung tâm mới được đặt tùy tiện 600 điểm phía dưới, nơi xe quay lại. Bạn đưa trung tâm trở lại bằng cách tính phần dưới cùng của khung nhìn . lượt xem. khung. kích thước. chiều cao - tự.xe hơi. khung. kích thước. Chiều cao);
Bạn có thể thử nghiệm những công thức này để xem cách di chuyển xe xung quanh khung cảnh.
Nhưng bạn chưa làm xong. Bạn cần xoay chiếc xe về vị trí ban đầu (trừ khi bạn muốn lái xe ngược lại từ California đến New York). Thêm mã đậm vào liên kết tiếp tụcThu gọn trong TestDriveController. m.
- (void) continueRotation {
CGAffineTransform transform =
CGAffineTransformMakeRotation (0); void (^ animation) () = ^ () { tự. xe. biến đổi = biến đổi; }; [UIView animateWithDuration: 3 hoạt hình: hoạt hình hoàn thành: NULL]; } Bạn cần phải hiểu rằng sự biến đổi (trong trường hợp này là xoay vòng) vẫn còn đó; nghĩa là bạn đã tạo một biến đổi để xoay 180 độ. Nếu bạn muốn lấy xe trở về vị trí ban đầu, bạn cần phải trả lại biến đổi thành 0.
