• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
How to prevent Segue with modal form-sheet and AutoLayout from resizing my view?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How to prevent Segue with modal form-sheet and AutoLayout from resizing my view?


  • Subject: How to prevent Segue with modal form-sheet and AutoLayout from resizing my view?
  • From: Michael Crawford <email@hidden>
  • Date: Fri, 21 Sep 2012 19:31:32 -0400

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 (email@hidden)

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:

This email sent to email@hidden

  • Follow-Ups:
    • Re: How to prevent Segue with modal form-sheet and AutoLayout from resizing my view?
      • From: Michael Crawford <email@hidden>
  • Prev by Date: Re: Autosave in place - common use case that makes me hate it
  • Next by Date: Re: drawGlyphsForGlyphRange layout issue
  • Previous by thread: Re: NSSearchField(Cell) changes size with typing
  • Next by thread: Re: How to prevent Segue with modal form-sheet and AutoLayout from resizing my view?
  • Index(es):
    • Date
    • Thread