Tôi đang cố gắng tạo lại hành vi iTunes 11 của các giao diện điều hướng trong một cửa sổ bật lên. Tôi dường như không thể tìm cách để làm cho hoạt hình của tôi xảy ra cùng lúc với sự thay đổi của cửa sổ bật lên là contentSize
.Thay đổi Bố cục Tự động Hoạt ảnh đồng thời với nội dung NSPopoverSize change
Thiết lập cơ bản tôi có là lớp con xem tùy chỉnh MyPopoverNavigationView với hai bản xem trước: chế độ xem cũ và mới mà tôi muốn cửa sổ bật lên điều hướng giữa. Pop2's contentViewController
có một cá thể MyPopoverNavigationView là view
. Tôi thực hiện điều này:
// Configure constraints how I want them to show the new popover view
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *ctx) {
[ctx setDuration:0.25];
[ctx setAllowsImplicitAnimation:YES];
[self layoutSubtreeIfNeeded];
} completionHandler:nil];
Theo như tôi có thể nói từ các video AutoDC WWDC 2012, đây là cách được khuyến nghị để tạo các thay đổi cho khung của khung nhìn do thay đổi ràng buộc. Nó hoạt động, nhưng các hình ảnh động xảy ra trong hai giai đoạn:
- Thứ nhất, của popover
contentSize
sẽ thay đổi để thích ứng với quan điểm mới mà tôi đang di chuyển đến (trước mà xem trở nên rõ ràng, vì vậy nó che khuất một phần hiện tại Nội dung). - Thứ hai, các chế độ xem có hiệu lực như tôi mong đợi, do đó hệ thống ràng buộc mà tôi đã cài đặt được thỏa mãn.
Từ thiết lập một số breakpoint, nó trông giống như -layoutSubtreeIfNeeded
cuối cùng gọi một phương thức riêng trên popover gọi _fromConstraintsSetWindowFrame:
, mà hiện các hoạt hình kích thước popover bên ngoài nhóm hoạt hình của tôi. Thời gian của bối cảnh của tôi không được tôn trọng và hoạt ảnh của tôi không xảy ra cho đến khi thay đổi kích thước của cửa sổ bật lên hoàn tất.
Làm cách nào để có thể khiến cho các lượt xem của tôi hoạt ảnh cùng với thay đổi kích thước của cửa sổ bật lên?
không làm việc cho tôi trên Yosemite –