CooperRS / RMActionController

This is an iOS control for presenting any UIView in an UIAlertController like manner
MIT License
539 stars 59 forks source link

Fix crash when disabling blur effects for actions/content #34

Closed CooperRS closed 7 years ago

CooperRS commented 7 years ago

Disabling blur effects for actions or content view leads to the following crash:

2017-09-16 12:28:28.613287+0200 RMActionController-Demo[17890:6042916] *** Assertion failure in -[UIVisualEffectView _addSubview:positioned:relativeTo:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3694.4.18/UIVisualEffectView.m:1464
2017-09-16 12:28:28.619204+0200 RMActionController-Demo[17890:6042916] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '<MKMapView: 0x7fa97e07c200; frame = (0 0; 0 0); clipsToBounds = YES; layer = <CALayer: 0x604000233b40>> has been added as a subview to <UIVisualEffectView: 0x7fa97dd78480; frame = (0 0; 0 0); layer = <CALayer: 0x600000630200>>. Do not add subviews directly to the visual effect view itself, instead add them to the -contentView.'
*** First throw call stack:
(
    0   CoreFoundation                      0x000000010505c1cb __exceptionPreprocess + 171
    1   libobjc.A.dylib                     0x00000001049bef41 objc_exception_throw + 48
    2   CoreFoundation                      0x0000000105061362 +[NSException raise:format:arguments:] + 98
    3   Foundation                          0x0000000104463089 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 193
    4   UIKit                               0x000000010666043f -[UIVisualEffectView _addSubview:positioned:relativeTo:] + 379
    5   RMActionController                  0x000000010436ba76 -[RMActionController setupTopContainerElements] + 1078
    6   RMActionController                  0x000000010436b61d -[RMActionController setupContainerElements] + 61
    7   RMActionController                  0x0000000104371ce0 -[RMActionController viewDidLoad] + 928
    8   UIKit                               0x0000000106210d51 -[UIViewController loadViewIfRequired] + 1235
    9   UIKit                               0x000000010621119e -[UIViewController view] + 27
    10  UIKit                               0x000000010622b48f -[UIViewController _setPresentationController:] + 100
    11  UIKit                               0x0000000106222a44 -[UIViewController _presentViewController:modalSourceViewController:presentationController:animationController:interactionController:completion:] + 1413
    12  UIKit                               0x00000001062246ab -[UIViewController _presentViewController:withAnimationController:completion:] + 4621
    13  UIKit                               0x00000001062271c1 __63-[UIViewController _presentViewController:animated:completion:]_block_invoke + 99
    14  UIKit                               0x0000000106227891 -[UIViewController _performCoordinatedPresentOrDismiss:animated:] + 532
    15  UIKit                               0x0000000106227120 -[UIViewController _presentViewController:animated:completion:] + 181
    16  UIKit                               0x000000010622747f -[UIViewController presentViewController:animated:completion:] + 159
    17  RMActionController-Demo             0x000000010406dc9e -[RMViewController presentActionController:] + 1278
    18  RMActionController-Demo             0x000000010406d2af -[RMViewController openMapActionController:] + 495
    19  RMActionController-Demo             0x000000010406de1e -[RMViewController tableView:didSelectRowAtIndexPath:] + 350
    20  UIKit                               0x00000001061ad6c7 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1810
    21  UIKit                               0x00000001061ad8e2 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 344
    22  UIKit                               0x000000010607ec61 _runAfterCACommitDeferredBlocks + 318
    23  UIKit                               0x000000010606d30d _cleanUpAfterCAFlushAndRunDeferredBlocks + 280
    24  UIKit                               0x000000010609d600 _afterCACommitHandler + 137
    25  CoreFoundation                      0x0000000104ffedb7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
    26  CoreFoundation                      0x0000000104ffed0e __CFRunLoopDoObservers + 430
    27  CoreFoundation                      0x0000000104fe3324 __CFRunLoopRun + 1572
    28  CoreFoundation                      0x0000000104fe2a89 CFRunLoopRunSpecific + 409
    29  GraphicsServices                    0x000000010bc729c6 GSEventRunModal + 62
    30  UIKit                               0x0000000106072d30 UIApplicationMain + 159
    31  RMActionController-Demo             0x000000010406c781 main + 129
    32  libdyld.dylib                       0x0000000109549d81 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException