Tôi có hoạt ảnh segue tùy chỉnh xảy ra khi đẩy bộ điều khiển chế độ xem mới lên ngăn xếp. Tuy nhiên, khi bật trình điều khiển xem được trình bày với khoảng cách tùy chỉnh đã nói, hoạt ảnh của trình điều khiển điều hướng mặc định sẽ xuất hiện (tức là trình điều khiển chế độ xem hiện hoạt ở bên phải trong khi trình điều khiển chế độ xem gốc dịch trên màn hình từ cạnh trái).Hoàn nguyên phân đoạn tùy chỉnh bằng cách tạo bảng phân cảnh
Vì vậy, câu hỏi của tôi là: có cách nào để viết hoạt ảnh phân biệt pop tùy chỉnh xảy ra khi bật trình điều khiển chế độ xem khỏi ngăn xếp không?
Chỉnh sửa (giải pháp):
tôi đã kết thúc việc xác định một tùy chỉnh Segue tương tự như câu trả lời được chọn. Trong Storyboard, tôi đã kéo một phân đoạn tùy chỉnh từ bộ điều khiển xem con trở lại với phần tử cha của nó, cho nó một mã định danh và phân tách ngược mới được viết như lớp của nó. Vâng, tôi nhận ra nó hầu như giống hệt với quá trình chuyển đổi phương thức. Yêu cầu của khách hàng đòi hỏi sự điên rồ này, vì vậy trước khi có ai đó bình luận, hãy hiểu rằng tôi biết một người không nên làm điều này trong những hoàn cảnh bình thường.
- (void)perform {
UIViewController *src = (UIViewController *)self.sourceViewController;
UIViewController *dest = (UIViewController *)self.destinationViewController;
[UIView animateWithDuration:0.3 animations:^{
CGRect f = src.view.frame;
f.origin.y = f.size.height;
src.view.frame = f;
} completion:^(BOOL finished){
src.view.alpha = 0;
[src.navigationController popViewControllerAnimated:NO];
}];
}
Vì vậy, để được rõ ràng, bạn đang thực sự đảo ngược segue tùy chỉnh, bạn đang thay vì sử dụng một segue tùy chỉnh riêng biệt để quay trở lại? – sobri
Bằng cách sử dụng một vòng lặp segue trở lại chính nó, không phải là bạn vẫn tạo ra một thể hiện của bộ điều khiển xem ban đầu không cần thiết? Tôi đoán không ai sẽ nhận thấy ngoại trừ một đốm ngắn trong một hồ sơ bộ nhớ. :) – qix