This code was being called out of the -viewDidLoad context of the main view.  
By calling it asynchronously using GCD instead of performing the segue 
directly, the problem goes away.  I'm not sure I would call this a solution.  
It feels more like a work-around, as I suspect the root cause is some sort of 
race condition, but it does work.

-Michael

On Sep 21, 2012, at 7:31 PM, Michael Crawford wrote:

> This problem is kind of tough to describe without pictures.  Thus, there will 
> be links to graphical images to help you understand my dilemma.
> 
> So, I'm trying to display a modal form-sheet over the app's main view using 
> Storyboards and a segue.  I'm using Xcode 4.5 with iOS 6 to implement an iPad 
> application.  I'm also using AutoLayout.  I already have a version of this 
> code working on iOS 5.1 with springs and struts but I want to make the 
> conversion to AutoLayout as I add support for iOS 6.  Don't ask why; stay 
> focused on the issue at hand, please.
> 
> This is what I'm trying to display.
> 
> https://dl.dropbox.com/u/4920112/1.PNG
> https://dl.dropbox.com/u/4920112/2.PNG
> https://dl.dropbox.com/u/4920112/3.PNG
> 
> When I activate the segue and try to display the modal form, the form 
> automatically resizes to cover the lower-left portion of the iPad view.  In 
> the console there are no exceptions due to conflicting constraints.  There is 
> also no reported ambiguity among the constraints in question.
> 
> This is what I'm actually getting.
> 
> https://dl.dropbox.com/u/4920112/4.png
> 
> I added a few breakpoints to execute "po self.view" so I could see how the 
> view was configured at the following points in the code:
> 
> 1) Start of -viewDidLoad
> 2) Context of -viewDidLoad after executing self.view.autoresizingMask = 
> UIViewAutoresizingNone;
> 3) Start of -viewDidAppear
> 
> Here is the output from the console as a result of these three breakpoints:
> 
> 1) (UIView *) $0 = 0x1dd969b0 <UIView: 0x1dd969b0; frame = (0 0; 540 620); 
> autoresize = RM+BM; autoresizesSubviews = NO; layer = <CALayer: 0x1dd96aa0>>
> 
> 2) (UIView *) $1 = 0x1dd969b0 <UIView: 0x1dd969b0; frame = (0 0; 540 620); 
> autoresizesSubviews = NO; layer = <CALayer: 0x1dd96aa0>>
> 
> The change from 540x620 to 1024x748 is the problem.
> 
> 3) (UIView *) $2 = 0x1dd969b0 <UIView: 0x1dd969b0; frame = (0 0; 1024 748); 
> clipsToBounds = YES; autoresize = W+H; autoresizesSubviews = NO; layer = 
> <CALayer: 0x1dd96aa0>>
> 
> This seems to tell me that the auto-resizing mask is successfully cleared but 
> then re-instated between the call to -viewDidLoad and -viewDidAppear.  Of 
> course, I'm assuming this is the issue.  I cannot assign a constraint to the 
> main view itself in order to pin width and height.  When I select the view, 
> IB grays out the option.
> 
> Anyone further along on the AutoLayout curve who can give me some suggestions 
> as to how to prevent my form from being resized once it is loaded?
> 
> -Michael
> 
> 
> _______________________________________________
> 
> 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/michaelacrawford%40me.com
> 
> This email sent to michaelacrawf...@me.com

_______________________________________________

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