Hi list,

I am getting strange feedback in the debugger when presenting a
UIAlertController on iPhone 6 Plus (iOS9.1 device and iOS 9.2 simulator)
and iPad Pro (iOS 9.2 simulator):

"the behavior of the UICollectionViewFlowLayout is not defined because:

the item height must be less than the height of the UICollectionView minus
the section insets top and bottom values, minus the content insets top and
bottom values.

The relevant UICollectionViewFlowLayout instance is
<_UIAlertControllerCollectionViewFlowLayout: 0x7fb8d5990790>, and it is
attached to <UICollectionView: 0x7fb8d3a96800; frame = (0 123.667; 270
44); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x7fb8d5991420>;
layer = <CALayer: 0x7fb8d5990d30>; contentOffset: {0, 0}; contentSize: {0,
0}> collection view layout: <_UIAlertControllerCollectionViewFlowLayout:
0x7fb8d5990790>.

Make a symbolic breakpoint at
UICollectionViewFlowLayoutBreakForInvalidSizes to catch this in the
debugger."





After setting the mentioned symbolic breakpoint and re-running the app,
and subsequently typing 'bt' in the debugger, I am getting this stack
trace:


* thread #1: tid = 0xd3616a, 0x000000010f377ca8
UIKit`UICollectionViewFlowLayoutBreakForInvalidSizes, queue =
'com.apple.main-thread', stop reason = breakpoint 1.1
  * frame #0: 0x000000010f377ca8
UIKit`UICollectionViewFlowLayoutBreakForInvalidSizes
    frame #1: 0x000000010f37af15 UIKit`-[_UIFlowLayoutSection
logInvalidSizesForHorizontalDirection:warnAboutDelegateValues:] + 219
    frame #2: 0x000000010f3791d0 UIKit`-[_UIFlowLayoutSection
computeLayout] + 951
    frame #3: 0x000000010f3273d0 UIKit`__56-[UICollectionViewFlowLayout
_updateItemsLayoutForRect:]_block_invoke + 107
    frame #4: 0x0000000110b06462 CoreFoundation`__53-[__NSArrayM
enumerateObjectsWithOptions:usingBlock:]_block_invoke + 114
    frame #5: 0x0000000110b05b52 CoreFoundation`-[__NSArrayM
enumerateObjectsWithOptions:usingBlock:] + 194
    frame #6: 0x000000010f327293 UIKit`-[UICollectionViewFlowLayout
_updateItemsLayoutForRect:] + 575
    frame #7: 0x000000010f327726 UIKit`-[UICollectionViewFlowLayout
_fetchItemsInfoForRect:] + 175
    frame #8: 0x000000010f320efd UIKit`-[UICollectionViewFlowLayout
prepareLayout] + 273
    frame #9: 0x000000010f3416e5 UIKit`-[UICollectionViewData
_prepareToLoadData] + 67
    frame #10: 0x000000010f341e6e UIKit`-[UICollectionViewData
validateLayoutInRect:] + 53
    frame #11: 0x000000010f2f1208 UIKit`-[UICollectionView layoutSubviews]
+ 196
    frame #12: 0x000000010eb4c4a3 UIKit`-[UIView(CALayerDelegate)
layoutSublayersOfLayer:] + 703
    frame #13: 0x000000011107759a QuartzCore`-[CALayer layoutSublayers] + 146
    frame #14: 0x000000011106be70
QuartzCore`CA::Layer::layout_if_needed(CA::Transaction*) + 366
    frame #15: 0x000000010eb3bd0d UIKit`-[UIView(Hierarchy)
layoutBelowIfNeeded] + 1129
    frame #16: 0x000000010ed9b70f
UIKit`-[_UIAlertControllerPresentationController
_prepareConstraintsIfNecessary] + 727
    frame #17: 0x000000010ed9b2b6
UIKit`-[_UIAlertControllerPresentationController
presentationTransitionWillBegin] + 351
    frame #18: 0x000000010ec018dc UIKit`__71-[UIPresentationController
_initViewHierarchyForPresentationSuperview:]_block_invoke + 2035
    frame #19: 0x000000010ebff50e UIKit`__56-[UIPresentationController
runTransitionForCurrentState]_block_invoke + 309
    frame #20: 0x000000010eaa14a2 UIKit`_runAfterCACommitDeferredBlocks + 317
    frame #21: 0x000000010eab4c01
UIKit`_cleanUpAfterCAFlushAndRunDeferredBlocks + 95
    frame #22: 0x000000010eac0af3 UIKit`_afterCACommitHandler + 90
    frame #23: 0x0000000110b03367
CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
+ 23
    frame #24: 0x0000000110b032d7 CoreFoundation`__CFRunLoopDoObservers + 391
    frame #25: 0x0000000110af8f2b CoreFoundation`__CFRunLoopRun + 1147
    frame #26: 0x0000000110af8828 CoreFoundation`CFRunLoopRunSpecific + 488
    frame #27: 0x0000000112c0ead2 GraphicsServices`GSEventRunModal + 161
    frame #28: 0x000000010ea95610 UIKit`UIApplicationMain + 171
    frame #29: 0x000000010e73712f WetboekVanStrafrechtCA`main(argc=1,
argv=0x00007fff514ca528) + 111 at main.m:16
    frame #30: 0x000000011657a92d libdyld.dylib`start + 1
    frame #31: 0x000000011657a92d libdyld.dylib`start + 1



HERE IS THE CODE INVOLVED:

    func showSearchDialog() {

        let alertcontroller = UIAlertController(title: "Search", message:
"Search this document", preferredStyle: .Alert)

        
alertcontroller.addTextFieldWithConfigurationHandler({(input:UITextField)in
            input.placeholder="Type your searchword here";
            input.clearButtonMode=UITextFieldViewMode.WhileEditing;
        });

        alertcontroller.addAction(UIAlertAction(title: "Cancel", style:
UIAlertActionStyle.Cancel, handler: nil));
        alertcontroller.addAction(UIAlertAction(title: "Search", style:
UIAlertActionStyle.Default, handler: {(action:UIAlertAction) in
            if let fields = alertcontroller.textFields {
                let textfield = fields[0]
                if let needle = textfield.text {
                    self.performSearch(needle)
                }
            }
        }));

        presentViewController(alertcontroller, animated: true, completion:
nil)
    }




THE ALERT GETS SHOWN, BUT IS HALF THE TIME SLOW TO APPEAR ON SCREEN...

I DON'T HAVE THIS ISSUE WHEN RUNNING THE APP ON THE iPHONE 6 OR iPAD AIR 2
SIMULATORS.

HOWEVER, ON THE iPAD PRO SIMULATOR I AM SEEING THIS IN THE DEBUGGER:

<Error>: CGContextConcatCTM: invalid context 0x0. Backtrace:
          <-[UIKBRenderer renderKeyContents:withTraits:]+102>
           <-[UIKBKeyplaneView drawContentsOfRenderers:]+1198>
            <-[UIKeyboardCache 
displayImagesForView:fromLayout:imageFlags:]+1518>
             <-[UIKBKeyplaneView displayLayer:]+448>
              <_ZN2CA5Layer7displayEv+140>
               <_ZN2CA5Layer17display_if_neededEPNS_11TransactionE+293>
                
<_ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE+35>
                 <_ZN2CA7Context18commit_transactionEPNS_11TransactionE+277>
                  <_ZN2CA11Transaction6commitEv+486>
                   <_afterCACommitHandler+174>
                    
<__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__+23>
                     <__CFRunLoopDoObservers+391>
                      <__CFRunLoopRun+1147>
                       <CFRunLoopRunSpecific+488>
                        <GSEventRunModal+161>
                         <UIApplicationMain+171>
                          <main+111>
                           <start+1>
<Error>: CGBitmapContextCreateImage: invalid context 0x0. Backtrace:
          <__52-[UIKBRenderer
renderBackgroundTraits:allowCaching:]_block_invoke_2+38>
           <-[UIKBRenderer _completeCacheImageWithTraitsIfNecessary:]+50>
            <-[UIKBRenderer renderKeyContents:withTraits:]+317>
             <-[UIKBKeyplaneView drawContentsOfRenderers:]+1198>
              <-[UIKeyboardCache 
displayImagesForView:fromLayout:imageFlags:]+1518>
               <-[UIKBKeyplaneView displayLayer:]+448>
                <_ZN2CA5Layer7displayEv+140>
                 <_ZN2CA5Layer17display_if_neededEPNS_11TransactionE+293>
                  
<_ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE+35>
                   <_ZN2CA7Context18commit_transactionEPNS_11TransactionE+277>
                    <_ZN2CA11Transaction6commitEv+486>
                     <_afterCACommitHandler+174>
                      
<__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__+23>
                       <__CFRunLoopDoObservers+391>
                        <__CFRunLoopRun+1147>
                         <CFRunLoopRunSpecific+488>
                          <GSEventRunModal+161>
                           <UIApplicationMain+171>
                            <main+111>
                             <start+1>
<Error>: CGContextConcatCTM: invalid context 0x0. Backtrace:
          <-[UIKBRenderer renderKeyContents:withTraits:]+102>
           <-[UIKBKeyplaneView drawContentsOfRenderers:]+1198>
            <-[UIKeyboardCache 
displayImagesForView:fromLayout:imageFlags:]+1518>
             <-[UIKBKeyplaneView displayLayer:]+448>
              <_ZN2CA5Layer7displayEv+140>
               <_ZN2CA5Layer17display_if_neededEPNS_11TransactionE+293>
                
<_ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE+35>
                 <_ZN2CA7Context18commit_transactionEPNS_11TransactionE+277>
                  <_ZN2CA11Transaction6commitEv+486>
                   <_afterCACommitHandler+174>
                    
<__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__+23>
                     <__CFRunLoopDoObservers+391>
                      <__CFRunLoopRun+1147>
                       <CFRunLoopRunSpecific+488>
                        <GSEventRunModal+161>
                         <UIApplicationMain+171>
                          <main+111>
                           <start+1>
 <Error>: CGBitmapContextCreateImage: invalid context 0x0. Backtrace:
          <__52-[UIKBRenderer
renderBackgroundTraits:allowCaching:]_block_invoke_2+38>
           <-[UIKBRenderer _completeCacheImageWithTraitsIfNecessary:]+50>
            <-[UIKBRenderer renderBackgroundTraits:allowCaching:]+2870>
             <-[UIKBRenderer renderKeyContents:withTraits:]+102>
              <-[UIKBKeyplaneView drawContentsOfRenderers:]+1198>
               <-[UIKeyboardCache 
displayImagesForView:fromLayout:imageFlags:]+1518>
                <-[UIKBKeyplaneView displayLayer:]+448>
                 <_ZN2CA5Layer7displayEv+140>
                  <_ZN2CA5Layer17display_if_neededEPNS_11TransactionE+293>
                   
<_ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE+35>
                    <_ZN2CA7Context18commit_transactionEPNS_11TransactionE+277>
                     <_ZN2CA11Transaction6commitEv+486>
                      <_afterCACommitHandler+174>
                       
<__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__+23>
                        <__CFRunLoopDoObservers+391>
                         <__CFRunLoopRun+1147>
                          <CFRunLoopRunSpecific+488>
                           <GSEventRunModal+161>
                            <UIApplicationMain+171>
                             <main+111>
                              <start+1>



HAS ANYBODY RUN INTO THIS? AND/OR CAN ANYBODY TELL ME WHETHER THIS IS BAD
AND HOW I CAN GET THE ALERT TO APPEAR CONSISTENTLY FAST ON SCREEN??


MANY THANKS,




DIEDERIK





_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to