Tôi nghĩ rằng tôi sẽ thêm một khả năng khác. Một trong những điều bạn có thể làm là bạn có thể kết nối hai cảnh trong bảng phân cảnh bằng cách sử dụng một segue không được gắn vào một hành động, và sau đó lập trình kích hoạt segue bên trong bộ điều khiển xem của bạn. Cách bạn thực hiện việc này là bạn phải kéo từ biểu tượng chủ sở hữu của tệp ở cuối cảnh phân cảnh là cảnh phân biệt và kéo sang phải vào cảnh đích. Tôi sẽ ném vào một hình ảnh để giúp giải thích.
Một cửa sổ bật lên sẽ hiển thị cho "Phân đoạn thủ công". Tôi chọn Push làm loại. Chạm vào hình vuông nhỏ và đảm bảo bạn đang ở trong trình kiểm tra thuộc tính. Cung cấp cho nó một định danh mà bạn sẽ sử dụng để tham chiếu đến nó trong mã.
Ok, tiếp theo tôi sẽ sử dụng một mục nút thanh lập trình. Trong viewDidLoad hoặc một nơi nào khác tôi sẽ tạo một mục nút trên thanh điều hướng với mã này:
UIBarButtonItem *buttonizeButton = [[UIBarButtonItem alloc] initWithTitle:@"Buttonize"
style:UIBarButtonItemStyleDone
target:self
action:@selector(buttonizeButtonTap:)];
self.navigationItem.rightBarButtonItems = @[buttonizeButton];
Ok, lưu ý rằng bộ chọn là buttonizeButtonTap :. Vì vậy, hãy viết một phương thức void cho nút đó và trong phương thức đó, bạn sẽ gọi segue như thế này:
-(void)buttonizeButtonTap:(id)sender{
[self performSegueWithIdentifier:@"Associate" sender:sender];
}
Tham số người gửi được yêu cầu để xác định nút khi gọi Chuẩn bị được gọi. readyForSegue là phương thức khung trong đó bạn sẽ khởi tạo cảnh của mình và chuyển cho nó bất kỳ giá trị nào nó sẽ cần để thực hiện công việc của nó. Đây là phương thức của tôi.
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"Associate"])
{
TranslationQuizAssociateVC *translationQuizAssociateVC = [segue destinationViewController];
translationQuizAssociateVC.nodeID = self.nodeID; //--pass nodeID from ViewNodeViewController
translationQuizAssociateVC.contentID = self.contentID;
translationQuizAssociateVC.index = self.index;
translationQuizAssociateVC.content = self.content;
}
}
Ok, chỉ cần thử nghiệm nó và nó hoạt động. Hy vọng nó sẽ giúp bạn.