Tôi đã tự hỏi nếu viewWillDisappear:
và viewDidDisappear:
được gọi khi iOS chuyển ứng dụng (ví dụ: nút Trang chủ được người dùng nhấn). Điều này sẽ khiến cho khung nhìn biến mất khỏi màn hình, nhưng các cuộc gọi lại có được gọi cho điều này không?Chế độ xemWillDisappear/viewDidDisappear có được gọi khi chuyển đổi ứng dụng không?
Trả lời
Không, các phương pháp đó sẽ không được gọi trong trường hợp đó.
Để được thông báo khi ứng dụng chạy ngầm, bạn có thể đăng ký thông báo UIApplicationWillResignActiveNotification.
Là một sang một bên, cách dễ nhất để tìm ra loại điều này là chỉ cần xây dựng một ứng dụng siêu nhanh chóng và thiết lập các điểm ngắt.
Bạn có thể.
Giải pháp - mà tôi đã sử dụng trước đây - là sử dụng applicationDidEnterBackground:
và applicationWillEnterForeground:
trong ủy quyền ứng dụng của bạn.
Thực hiện việc này trong ứng dụng của bạn.
- (void)applicationDidEnterBackground:(UIApplication *)application {
[self.window.rootViewController beginAppearanceTransition:NO animated:NO];
[self.window.rootViewController endAppearanceTransition];
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
[self.window.rootViewController beginAppearanceTransition:YES animated:NO];
[self.window.rootViewController endAppearanceTransition];
}
Bây giờ bạn viewWillDisappear:
, viewDidDisappear:
, viewWillAppear:
và viewDidAppear:
phương pháp nhìn hệ thống phân cấp điều khiển của bạn sẽ được gọi khi bạn ứng dụng đi vào nền và trở lại foreground.
Hy vọng tính năng này hoạt động?
Sửa 24/11/16 (Swift 3 phiên bản)
func applicationDidEnterBackground(_ application: UIApplication) {
window?.rootViewController?.beginAppearanceTransition(false, animated: false)
window?.rootViewController?.endAppearanceTransition()
}
func applicationWillEnterForeground(_ application: UIApplication) {
window?.rootViewController?.beginAppearanceTransition(true, animated: false)
window?.rootViewController?.endAppearanceTransition()
}
Sửa 2017/02/01 (tất cả cửa sổ)
func applicationDidEnterBackground(_ application: UIApplication) {
for window in application.windows {
window.rootViewController?.beginAppearanceTransition(false, animated: false)
window.rootViewController?.endAppearanceTransition()
}
}
func applicationWillEnterForeground(_ application: UIApplication) {
for window in application.windows {
window.rootViewController?.beginAppearanceTransition(true, animated: false)
window.rootViewController?.endAppearanceTransition()
}
}
Dường như chỉ đơn giản là ngạc nhiên. Nhưng có bất kỳ tác dụng phụ (khó chịu) nào để làm điều này không? –
Trừ khi bạn làm điều gì đó điên rồ như đặt mã khởi tạo trong bất kỳ 'viewWillAppear:' hoặc mã hủy tương tự nào trong 'viewWillDisappear:', tôi không thấy điều này gây ra bất kỳ sự cố nào. Tôi đã không có kinh nghiệm cho đến nay. – Trenskow
Tôi đã thêm mã để hiển thị cách kích hoạt các cuộc gọi trên tất cả các cửa sổ ứng dụng. Đây sẽ là nhược điểm duy nhất của lần đầu tiên - nó chỉ hoạt động trên cửa sổ chính. – Trenskow
- 1. "gọi" sau khi chuyển sang Chế độ được bảo vệ
- 2. Có phương pháp UIViewController được tự động gọi khi ứng dụng chuyển sang nền không?
- 3. IIS6: Khi một nhóm ứng dụng được tái chế, Session_End có được gọi không?
- 4. MVC3 Lỗi lạ sau khi chuyển đổi chế độ xem
- 5. ViewDidAppear không được gọi khi mở ứng dụng từ nền
- 6. Chuyển đổi chế độ toàn màn hình
- 7. SSRS - Quá trình chết/chuyển sang chế độ ngủ sau khi không được sử dụng
- 8. Có thể chuyển đổi tệp cấu hình ứng dụng khi chạy cho ứng dụng .NET không?
- 9. Hoạt động OnCreate được gọi khi điện thoại chuyển sang chế độ ngủ
- 10. Làm cách nào để chuyển đổi chế độ xem từ trong chế độ xem?
- 11. Làm cách nào để chuyển đổi Chế độ xem trong ứng dụng Cocoa?
- 12. Is willMoveToSuperview có được gọi là (có nil) khi xóa chế độ xem khỏi cấu trúc phân cấp không?
- 13. requestLayout() không có tác dụng khi được gọi từ onSizeChanged()?
- 14. Bật chế độ đảm bảo sẽ được gọi khi Activity không còn hoạt động?
- 15. Chạy ứng dụng IPhone khi đang ở chế độ ngủ
- 16. Chuyển đổi ngày giờ SQL không thay đổi khi không có chuyển đổi nào nên được thực hiện
- 17. cách chạy ứng dụng android phonegap ở chế độ nền (sau khi đóng ứng dụng)?
- 18. Cách chuyển đổi chế độ hiển thị cột Lưới WPF
- 19. applicationWillTerminate không được gọi khi ứng dụng dừng từ Xcode
- 20. Ứng dụngDidFinishLaunching: được gọi khi ứng dụng được cập nhật và khởi chạy lần đầu tiên?
- 21. Chuyển trạng thái ứng dụng giữa các chế độ xem trong ứng dụng MVVM WPF
- 22. EmberJS có một sự kiện được gọi sau khi chế độ xem Handlebars đã được cập nhật không?
- 23. Cách mở chế độ xem bằng bàn phím xuất hiện khi chế độ xem đã được tải?
- 24. Tôi có thể gọi chế độ xem từ trong chế độ xem khác không?
- 25. Có PN tuy nhiên ứng dụng: ứng dụng didReceiveRemoteNotification: không được kích hoạt khi biểu tượng ứng dụng được chọn
- 26. Không thể khôi phục độ sáng khi thoát ứng dụng
- 27. Sử dụng chế độ xem có bazơ
- 28. ios didselectrowatindexpath không được gọi khi ở chế độ chỉnh sửa
- 29. Làm cách nào để khôi phục từ máy tính khách WebSocket chuyển sang chế độ ngủ hoặc ứng dụng chuyển sang chế độ nền (Safari trên iPad)
- 30. Iphone- Cách thay đổi kích thước chế độ xem khi thanh trạng thái cuộc gọi được bật?
Và những gì là kết quả của thử nghiệm của bạn? –
Tôi chắc rằng có những người đã tự hỏi về điều này. Googling vẫn nhanh hơn việc lập một dự án thử nghiệm. – gabor
đại biểu ứng dụng chỉ được gọi trong khi chuyển đổi ứng dụng. –