Trong bộ điều khiển Popover của tôi, tôi đang xem bảng. Khi chọn một ô, tôi muốn ẩn cửa sổ bật lên. Làm cách nào để đạt được điều đó.UIPopOverController + UITableView - Ẩn cửa sổ bật lên khi ô được chọn
Trả lời
Trong tập tin header của bộ điều khiển xem Root:
@property (strong, nonatomic) UIStoryboardPopoverSegue* popSegue;
Trong tập tin thực hiện:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([[segue identifier] isEqualToString:@"popover"])
{
NSLog(@"%@",[segue destinationViewController]);
self.popSegue = (UIStoryboardPopoverSegue*)segue;
[[segue destinationViewController] setDelegate:self];
}
}
Khi bao giờ bạn muốn ẩn các cửa sổ pop qua:
if ([self.popSegue.popoverController isPopoverVisible])
{
[self.popSegue.popoverController dismissPopoverAnimated:YES];
}
Trong xem bảng, thêm một đại biểu và thực hiện các đại biểu trong bộ điều khiển xem gốc. Khi phương thức ủy nhiệm được gọi, sử dụng mã trên để loại bỏ cửa sổ bật lên.
Cho phép tôi đề xuất một giải pháp hơi khác, bao gồm việc chuyển tham chiếu bộ điều khiển cửa sổ thay vì tham chiếu segue.
Trong tập tin thực thi của bộ điều khiển xem nguồn:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue destinationViewController] isKindOfClass:[MyDestViewController class]]) {
MyDestViewController* viewController = (MyDestViewController*)[segue destinationViewController];
UIStoryboardPopoverSegue* popoverSegue = (UIStoryboardPopoverSegue*)segue;
[viewController setPopoverController:[popoverSegue popoverController]];
}
}
Trong tập tin tiêu đề của bộ điều khiển xem điểm đến:
@property (weak, nonatomic) UIPopoverController* popoverController;
Trong tập tin thực thi của bộ điều khiển xem điểm đến:
@synthesize popoverController;
Cùng một tệp, bất cứ khi nào bạn muốn loại bỏ cửa sổ bật lên:
[popoverController dismissPopoverAnimated:YES];
Các tài liệu táo khuyên như sau:
Sa thải một popover lập trình đòi hỏi một con trỏ tới bộ điều khiển popover. Cách duy nhất để có được con trỏ như vậy là tự lưu trữ nó, thường là trong bộ điều khiển xem nội dung. Điều này đảm bảo rằng trình điều khiển chế độ xem nội dung có thể loại bỏ cửa sổ bật lên để phản hồi các hành động của người dùng thích hợp.
trong didSelectRowAtIndexPath thử mã này
[viewController.popoverController dismissPopoverAnimated:YES];
- 1. khi cửa sổ bật lên vẫn hiển thị
- 2. NSPopover - Ẩn khi tiêu điểm bị mất? (nhấp vào bên ngoài cửa sổ bật lên)
- 3. Cách ẩn Cửa sổ bật lên Gtk khi người dùng nhấp vào bên ngoài cửa sổ
- 4. Cửa sổ bật lên, cách Ẩn thanh URL trong IE8
- 5. Cách ẩn cửa sổ bật lên của URL trong UIwebview
- 6. địa chỉ thanh ẩn trong cửa sổ bật lên (chrome)
- 7. Cần trợ giúp để có cửa sổ bật lên Cửa sổ bật lên
- 8. Bộ chọn như inputview bên trong cửa sổ bật lên
- 9. UITableView ô đã chọn không được chọn khi cuộn
- 10. Làm thế nào bạn có thể đảm bảo cửa sổ bật lên cửa sổ bật lên twitter được hiển thị?
- 11. Loại bỏ cửa sổ bật lên khi mục Nhóm RadioGroup được chọn
- 12. Lỗi Javascript khi phá hủy cửa sổ bật lên Bootstrap
- 13. Chiều rộng cửa sổ bật lên Bootstrap cho cửa sổ bật lên-bên trong
- 14. Ẩn điều khiển bật lên khi cửa sổ khác đang lấy nét
- 15. Cách đóng cửa sổ bật lên Liferay.util.openWindow?
- 16. Hiển thị chế độ xem cửa sổ bật lên từ các ô mẫu thử động
- 17. Python: Cửa sổ bật lên PyQt
- 18. Cửa sổ bật lên trong Java Swing
- 19. Ngăn cuộn nền khi hiển thị cửa sổ bật lên
- 20. Selenium: Kiểm tra cửa sổ bật lên
- 21. jQuery Mobile mở cửa sổ bật lên khi tải trang
- 22. Twitter OAuth qua cửa sổ bật lên
- 23. Thay đổi kích thước của MasterViewController khi được bật dưới dạng cửa sổ bật lên
- 24. jQuery: Ẩn cửa sổ bật lên nếu nhấp chuột được phát hiện ở nơi khác
- 25. Cửa sổ bật lên MVC-pop
- 26. EditText Trên Cửa sổ bật lên
- 27. facebook Cửa sổ bật lên Sharer
- 28. Bật cửa sổ bật lên từ dịch vụ
- 29. Cửa sổ làm mới dành cho cha mẹ sau khi đóng cửa sổ bật lên
- 30. jQuery Mã Input (đầu vào tokenize) không làm việc trên cửa sổ bật lên phương thức, danh sách ẩn dưới cửa sổ bật lên
tốt trên ya' để giải quyết câu hỏi hóc búa đó. – CodaFi