2012-06-14 16 views
17

Tôi đang tạo ứng dụng bằng cách sử dụng SDK iOS 5. Tôi đã xoay sở để thúc đẩy lượt xem bằng cách sử dụng Phân đoạn của Storyboard, nhưng tôi không thể tìm được cách thích hợp để bật chế độ xem hiện tại và quay lại chế độ xem trước đó.Bật chế độ xem hiện tại bằng cách sử dụng Phân đoạn/Bảng phân cảnh trên iOS 5

Tôi không sử dụng bất kỳ navigationController nào (ứng dụng không có bất kỳ thanh trên cùng hoặc dưới cùng nào).

Tôi không nghĩ rằng bằng cách sử dụng phương thức hoặc đẩy segue theo cách khác sẽ là giải pháp vì nó instantiates một bộ điều khiển mới.

Tôi có phải sử dụng Phân đoạn tùy chỉnh có hoạt ảnh ngược lại và xóa chế độ xem ở cuối không? Đây có phải là cách tốt hơn không ?

Trả lời

24

Bạn có thể thử gọi [self dismissViewControllerAnimated:YES completion:nil]; từ bộ điều khiển bạn muốn loại bỏ (cho dù bộ điều khiển đã được đẩy hay hiển thị một cách bình thường).

Đây là tài liệu liên quan: UIViewController Class Reference

Các trình bày quan điểm điều khiển có nhiệm vụ giải tán bộ điều khiển xem nó trình bày. Nếu bạn gọi phương thức này trên chính trình điều khiển khung nhìn được trình bày, nó sẽ tự động chuyển tiếp thông báo tới bộ điều khiển xem trình bày.

+0

Chính xác những gì tôi cần, cảm ơn. – Jukurrpa

+16

Lưu ý: điều này làm _not_ làm việc w/điều khiển chuyển hướng (để bật). –

+0

Tuyệt vời;). Bạn đã làm ngày của tôi :). Cảm ơn bạn – androniennn

53

Bảng phân cảnh trong iOS 5 không cung cấp cách "không có mã" để trả về từ một khoảng cách - đó là thứ bạn sẽ cần phải tự triển khai.

Nếu bạn sử dụng phân đoạn "đẩy" (yêu cầu bộ điều khiển điều hướng), hãy sử dụng phương pháp popViewControllerAnimated: của bộ điều hướng để hoàn tác khoảng cách đẩy cuối cùng. (Hoặc các phương pháp khác để hoàn tác hơn; xem tài liệu UINavigationController.)

Nếu bạn sử dụng "phương thức" segues, gọi dismissViewControllerAnimated:completion: trên bộ điều khiển xem đó trình bày các bộ điều khiển xem hiện tại (mà bạn có thể nhận được từ tài sản presentingViewController của nó).


Cập nhật: Trong iOS 6 và sau đó có segues Thư giãn cho đi "trở lại" trong một kịch bản này. Nó vẫn không phải là một giải pháp không có mã - và nó không nên, bởi vì bạn cần để có thể làm những việc như phân biệt giữa "Done" và "Hủy bỏ" thoát khỏi một bộ điều khiển xem phương thức. Nhưng nó cho phép bạn đặt thêm luồng ngữ nghĩa của ứng dụng vào bảng phân cảnh. Apple có tech note that describes them in detail và chúng cũng được bao gồm trong the video from WWDC 2012 Session 407.

16

Chỉ cần làm rõ.

Trong lớp đã được đẩy. Đơn giản chỉ cần dây lên sau đây và bộ điều khiển và xem sẽ được bật ra.

[self.navigationController popViewControllerAnimated:YES]; 
3

Tạo loại Segue "Tùy chỉnh" trên bảng điều khiển của bạn. Điều này có thể là từ một nút. Tạo một lớp UIStoryboardSegue mới có tên "popSegue" Trong tệp popSegue.m, hãy thêm phần sau;

-(void)perform{ 
    UIViewController *sourceViewContreoller = [self sourceViewController]; 
    [sourceViewContreoller.navigationController popViewControllerAnimated:YES]; 
} 

-Trong trình chỉnh sửa bảng phân cảnh.

-Chọn các segue và thay đổi lớp Segue để "popSegue"

-Thiết Identifier để "popSegue"

Xong!

Bạn có thể sử dụng cùng một lớp "popSegue" trong suốt dự án của mình.

Hy vọng điều này sẽ giúp

2

Tôi đang sử dụng Xcode 5 và đây là cách thực hiện. Đầu tiên, trong tệp mã chế độ xem đã đẩy tệp kia, hãy tạo phương thức IBAction trong tệp .h như sau:

- (IBAction)exitToHere:(UIStoryboardPopoverSegue *)segue sender:(id)sender; 

Then in the .m file add this: 

- (IBAction)exitToHere:(UIStoryboardPopoverSegue *)segue sender:(id)sender { 

} 

Bạn có thể thêm bất kỳ mã dọn dẹp nào bạn muốn thực hiện trong phương pháp này. Tiếp theo, chuyển đến bảng phân cảnh của bạn và chọn chế độ xem được đẩy. Tôi cho rằng bạn đã có một số loại nút trên chế độ xem mà người dùng nhấn để báo hiệu anh ấy đã hoàn tất. Nhấp vào nút đó, giữ phím và kéo đến hộp màu xanh lá cây bên dưới chế độ xem là Lối ra. Nhả nút chuột nhưng tiếp tục giữ phím. Một popup sẽ xuất hiện và phương thức của bạn sẽ hiển thị trong danh sách. Chọn phương pháp đó. Bây giờ khi người dùng nhấp vào nút, chế độ xem sẽ bật và bạn sẽ được trả lại phương thức bắt đầu.