Làm thế nào tôi có thể trình bày một bộ điều khiển chế độ xem từ giao diện ứng dụng của đại biểu, đầu nhất? Đang cố gắng trình bày một bộ điều khiển chế độ xem từ một UIView, điều này làm tôi bối rối.presentModalViewController từ ứng dụng đại biểu
Trả lời
Đại biểu ứng dụng không quản lý chế độ xem. Bạn nên trình bày một bộ điều khiển xem phương thức từ phương thức -viewDidAppear:
của bộ điều khiển xem đầu tiên được đặt trên màn hình trong -application:didFinishLaunchingWithOptions:
.
Sử dụng rootViewController
của bạn. Bạn có thể trình bày một bộ điều khiển xem phương thức từ bất kỳ lớp con bộ điều khiển xem nào. Nếu gốc của bạn VC là một UITabBarController, sau đó bạn có thể làm:
[self.tabBarController presentModalViewControllerAnimated:YES]
hoặc nếu nó là một điều khiển chuyển hướng:
[self.navigationController presentModalViewControllerAnimated:YES]
, vv
EDIT: MVC
Bằng cố gắng trình bày một bộ điều khiển từ bên trong một khung nhìn mà bạn đang phá vỡ mẫu MVC. Nói chung, một khung nhìn có liên quan với sự xuất hiện của nó và lộ ra các giao diện để giao tiếp trạng thái giao diện người dùng với bộ điều khiển của nó. Ví dụ: nếu bạn có một số UIButton
trong chế độ xem của mình và bạn muốn nó hiển thị bộ điều khiển chế độ xem phương thức, bạn không khó gắn kết chế độ xem để thực hiện việc này. Thay vào đó, khi bộ điều khiển khởi tạo chế độ xem, bộ điều khiển định cấu hình nút bằng cách đặt chính nó làm mục tiêu để nhận hành động touchUpInside
nơi nó có thể hiển thị bộ điều khiển chế độ xem phù hợp.
Chính chế độ xem không (và không nên) có kiến thức ngữ cảnh này để thực hiện công việc của bộ điều khiển.
Không hoạt động nếu 'rootViewController' đã trình bày một bộ điều khiển xem phương thức. – Steve
đúng, đây chỉ là một ví dụ. Tôi không biết toàn bộ logic của ứng dụng OP. Cũng đồng ý với tất cả những hiểu biết kỹ thuật thích hợp là tốt hơn, do đó bạn có thể đi chệch với kiến thức đầy đủ về những gì bạn đang làm khi cần thiết. – XJones
Phương pháp tiếp cận dựa trên 'UIWindow' hoạt động luôn, trên bảng, không có logic tùy chỉnh ... giống như' UIAlertView' hoạt động luôn. – Steve
Cách tốt nhất để làm điều này là tạo UIWindow
mới, đặt số windowLevel
thuộc tính và hiển thị UIViewController
trong cửa sổ đó.
Đây là cách hoạt động của UIAlertView
.
Interface
@interface MyAppDelegate : NSObject <UIApplicationDelegate>
@property (nonatomic, strong) UIWindow * alertWindow;
...
- (void)presentCustomAlert;
@end
Thực hiện:
@implementation MyAppDelegate
@synthesize alertWindow = _alertWindow;
...
- (void)presentCustomAlert
{
if (self.alertWindow == nil)
{
CGRect screenBounds = [[UIScreen mainScreen] bounds];
UIWindow * alertWindow = [[UIWindow alloc] initWithFrame:screenBounds];
alertWindow.windowLevel = UIWindowLevelAlert;
}
SomeViewController * myAlert = [[SomeViewController alloc] init];
alertWindow.rootViewController = myAlert;
[alertWindow makeKeyAndVisible];
}
@end
Làm việc như một sự quyến rũ. –
câu trả lời hữu ích tuyệt vời – Fattie
- 1. Đại biểu ứng dụng - Ca cao
- 2. đẩy uiviewcontroller từ presentModalViewController
- 3. Đại biểu so với từ khóa đại biểu
- 4. Gọi presentModalViewController từ NSObject lớp
- 5. Xây dựng một đại biểu từ MethodInfo?
- 6. Gọi phương thức điều khiển xem từ ứng dụng đại biểu
- 7. Trình điều khiển chế độ xem bảng phân cảnh hiện tại từ đại biểu ứng dụng?
- 8. Lấy một đại biểu từ phương thức
- 9. Chuyển đổi từ một đại biểu này sang đại biểu khác. Pseudo cast
- 10. C#: cách tạo loại đại biểu từ các loại đại biểu?
- 11. presentModalViewController không làm việc
- 12. Blocks vs đại biểu
- 13. Tôi sử dụng đại biểu ở đâu?
- 14. PrepareForSegue và các đại biểu
- 15. Ứng dụng iPhone: cách tải biểu tượng ứng dụng từ id ứng dụng?
- 16. đại biểu từ nút vòi bên trong tùy chỉnh UITableViewCell
- 17. Làm thế nào để truy cập các biến điều khiển xem từ ứng dụng đại biểu ... và ngược lại?
- 18. Đại biểu là gì?
- 19. Đại biểu Constructor C++
- 20. Đại biểu mẫu vs từ khoá delegate trong C#
- 21. MethodInvoke đại biểu hoặc biểu thức lambda
- 22. Ứng dụng thích hợpPhương pháp đại biểu cho khởi đầu Flurry?
- 23. presentModalViewController: hoạt hình bị phản
- 24. Nhận tên phương pháp từ đại biểu với WinDbg
- 25. iPhone - presentModalViewController qua UITabBarItem và dismissModalViewController sạch
- 26. Làm thế nào để đại biểu từ khóa làm việc so với việc tạo một đại biểu
- 27. PresentModalViewController trong Storyboard lập trình iOS 5
- 28. Proxy/đại biểu tại Scala
- 29. QDataWidgetMapper và nhiều đại biểu
- 30. Sử dụng C# đại biểu có hàm f #
Tôi thực sự cố gắng để trình bày một modalViewController từ một UIView, và cố gắng để trình bày này trên hầu hết các viewController hàng đầu, bất kỳ ý tưởng? – adit
Bộ điều khiển chế độ xem phương thức chỉ có thể được trình bày bởi các bộ điều khiển chế độ xem khác. Các quan điểm mà họ quản lý không có kiến thức về bộ điều khiển riêng của họ cho phép các bộ điều khiển xem khác. –
Trong khi câu trả lời này chỉ ra một số hiểu lầm của OP, nó không thực sự trả lời câu hỏi. Vui lòng xem lại câu trả lời của tôi: UIWindow – Steve