Không thể tạo lại sự cố sau.Bắt gặp sự cố không thể tự thêm làm chế độ xem phụ trong ios
Tôi đã xử lý trường hợp: không phân biệt chế độ xem trong khi một chế độ xem đang hoạt ảnh. Vấn đề tương tự được đề cập ở đây: iOS app error - Can't add self as subview. Tôi đã triển khai giải pháp this để phân đoạn an toàn.
Tôi vẫn gặp sự cố sau.
Lưu ý: bị lỗi trên cả iOS 7 và 8 nhưng có nhiều sự cố xảy ra với iOS 8. (nếu điều đó có ích). Không nhận được sự cố trong trình mô phỏng ngay cả khi segueing từ viewDidLoad.
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Can't add self as subview'
Application Specific Backtrace 1:
0 CoreFoundation 0x24503f87 <redacted> + 126
1 libobjc.A.dylib 0x31c62c77 _objc_exception_throw + 38
2 CoreFoundation 0x24503ecd -[NSException initWithCoder:] + 0
3 UIKit 0x279880b3 -[UIView _addSubview:positioned:relativeTo:] + 114
4 UIKit 0x27988037 -[UIView addSubview:] + 30
5 UIKit 0x27b4d491 <redacted> + 1236
6 UIKit 0x2798e701 +[UIView performWithoutAnimation:] + 72
7 UIKit 0x27b4cd79 -[_UINavigationParallaxTransition animateTransition:] + 808
8 UIKit 0x27b0b787 -[UINavigationController _startCustomTransition:] + 2854
9 UIKit 0x27a2ab2f -[UINavigationController _startDeferredTransitionIfNeeded:] + 422
10 UIKit 0x27a2a931 -[UINavigationController __viewWillLayoutSubviews] + 44
11 UIKit 0x27a2a8c9 -[UILayoutContainerView layoutSubviews] + 184
12 UIKit 0x2797f25f -[UIView layoutSublayersOfLayer:] + 514
13 QuartzCore 0x273aa1d5 -[CALayer layoutSublayers] + 136
14 QuartzCore 0x273a5bd1 <redacted> + 360
15 QuartzCore 0x273a5a59 <redacted> + 16
16 QuartzCore 0x273a5447 <redacted> + 222
17 QuartzCore 0x273a5251 <redacted> + 324
18 UIKit 0x27980c31 <redacted> + 1384
19 CoreFoundation 0x244ca807 <redacted> + 14
20 CoreFoundation 0x244c9c1b <redacted> + 222
21 CoreFoundation 0x244c8299 <redacted> + 768
22 CoreFoundation 0x24415db1 _CFRunLoopRunSpecific + 476
23 CoreFoundation 0x24415bc3 _CFRunLoopRunInMode + 106
24 GraphicsServices 0x2b7a0051 _GSEventRunModal + 136
25 UIKit 0x279e0f01 _UIApplicationMain + 1440
Điều này đôi khi xảy ra khi bạn gọi chuyển tiếp không đồng bộ. Có lẽ bạn đã đẩy cùng VC trên cùng một hành động từ bảng phân cảnh và từ mã? Hoặc bạn đang đẩy một số VC trước khi bạn bật khác? – jovanjovanovic
Tôi đã sử dụng 'performSegueWithIdentifier:' cho tất cả segue và 'popToViewController: animated:' tại một nơi. Cần làm rõ về 'Hoặc bạn đang đẩy một số VC trước khi bạn bật khác?' – Pushparaj
Chỉ cần thử tìm kiếm các chuyển tiếp lồng nhau. Phải có một số nơi mà bạn đang đẩy một số ViewController trước khi khác được popped ... Hoặc một nơi mà bạn đang đẩy một số ViewController trước khi quá trình chuyển đổi kết thúc. – jovanjovanovic