Tôi hiện đang có một ứng dụng iPad với một UIToolbar chứa hai UIBarButtonItems, mỗi trong số đó được kết nối với một phân đoạn popover.UIBarButtonItem + popover segue tạo ra nhiều popovers
Khi người dùng chạm vào một trong các UIBarButtonItems, cửa sổ bật lên được tạo thay vì bật. Điều này tạo ra nhiều cửa sổ bật lên chồng lên nhau. Tôi đã có thể đóng cửa sổ bật lên đã tạo trước đó bằng cách sử dụng mã sau đây
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// First close the preferences popover if it's open per Apple guidelines
if ([self.popoverA.popoverController isPopoverVisible]) {
[self.popoverA.popoverController dismissPopoverAnimated:YES];
}
if ([self.popoverB.popoverController isPopoverVisible]) {
[self.popoverB.popoverController dismissPopoverAnimated:YES];
}
... code to manage segues ...
}
Tôi cũng có UIButtons tạo phân đoạn popover hoạt động bình thường. Do hành vi này của các popovers liên kết với UIBarButtonItems, ứng dụng của tôi đang bị từ chối. Có ai có bất cứ đề nghị hoặc bất kỳ mẫu mã của một UIToolbar với nhiều UIBarButtonItems hoạt động chính xác? Các cửa sổ bật lên sẽ loại bỏ khi người dùng chạm vào bên ngoài cửa sổ,
Chỉ cần làm rõ vấn đề của tôi. Hành vi mong đợi là mỗi lần nút (UIBarButtonItem) được chạm vào, cửa sổ bật lên sẽ được bật hoặc đóng hơn là luôn mở. Tuy nhiên, segue dường như luôn tạo một cửa sổ bật lên khác thay vì loại bỏ một cửa sổ hiển thị hiện có. Khi được liên kết với một UIButton, các popovers được chuyển đổi một cách thích hợp. –