2012-01-24 24 views
12

Tùy thuộc vào sự trở lại XML, tôi không muốn hiện tại segue để thực hiện trên chạm UIButton.ios segue "cancel"

Tôi biết tôi có thể chọn mà segue Tôi muốn thực hiện, nhưng làm thế nào để tôi thực hiện một seguekhông thực hiện? Hoặc ít nhất không thực hiện bất kỳ số nào có sẵn segues?

Trả lời

25

Nếu mục tiêu triển khai của bạn là iOS 6.0 trở lên, bạn có thể ghi đè the -[UIViewController shouldPerformSegueWithIdentifier:sender:] method để trả lại YES nếu bạn muốn thực hiện segue và NO nếu không.

Nếu mục tiêu triển khai của bạn sớm hơn iOS 6.0, bạn sẽ không nhận được thông báo shouldPerformSegueWithIdentifier:sender:. Vì vậy, trong bảng phân cảnh của bạn, không vẽ segue từ nút. Thay vào đó, hãy vẽ phân đoạn từ bộ điều khiển chế độ xem của nút và cung cấp cho segue một định danh. Kết nối nút với một số IBAction trong bộ điều khiển chế độ xem của nó. Trong hành động, kiểm tra xem bạn có muốn thực hiện phân đoạn không. Nếu bạn muốn thực hiện nó, hãy gửi cho mình performSegueWithIdentifier:sender:, chuyển mã nhận dạng bạn đã gán cho segue trong bảng phân cảnh.

+0

là ' [self performSegueWithIdentifier: @ "myIdentifier" người gửi: self]; 'correct? Xcode cho tôi một 'SIGABRT': ( – Jacksonkr

+0

Bạn cần đặt một điểm ngắt ngoại lệ để xem có gì sai. –

3

Apple Developer Documentation có phương pháp đúng để hủy bỏ một segue được quản lý trong Storyboard:

- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender 

Ví dụ:

- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender { 
    if ([identifier isEqualToString:@"listPopover"]) { 
     if (self.listPopover == nil) { 
      // Allow the popover segue 
      return YES; 
     } 
     // Cancel the popover segue 
     return NO; 
    } 
    // Allow all other segues 
    return YES; 
} 
+0

Thông điệp' shouldPerformSegueWithIdentifier: sender: 'được thêm vào iOS 6 và sẽ không được gửi trên các thiết bị chạy phiên bản iOS cũ hơn Khi câu hỏi này được đăng, iOS 6 chưa được phát hành. –

Các vấn đề liên quan