On 3 Aug 2012, at 22:50, David Duncan wrote: > On Aug 3, 2012, at 8:34 AM, Gerriet M. Denkmann <gerr...@mdenkmann.de> wrote: > >> I have a subclass of UIViewController which displays a small view in the >> center of the display. >> shouldAutorotateToInterfaceOrientation: returns YES. >> >> The problem: >> when I rotate the device, the centered view rotates as it should. But it >> also changes its size to full-screen. >> >> The (bad) workaround: >> in didRotateFromInterfaceOrientation: I set the frame back to a sensible >> value. >> >> Result: when I rotate the device, the view rotates, blows up to fill the >> screen, then snaps back to its real size. >> >> Is there a way to tell the ViewController to NOT mess with the size of its >> view (it should just exchange width and height)? > > > I'm confused between your two claims. > > Above you say you have a view controller that displays a small view in the > center of the screen. Below you say that this is the view controller's view > (that is, the view assigned to the 'view' property).
There is a view (which fills the screen, let's call it basicView). When the user taps the screen, the small view - the view controller's view (that is, the view assigned to the 'view' property) - is shown in the middle of the screen. And this small centered view does rotate, when the device is rotated. The basicView does not rotate. > If you want a simple view in the center of the screen with a fixed size, then > the simplest way to do so is to make that view a subview of the view > controller's view. If you set the autoresizingMask correctly, then that view > won't be resized at all, and should maintain its position in its superview > (if nothing else ensuring the subview remains at the correct size and > position should be much easier than what it seems you are trying to do above). The autoresizingMask contains only dashed lines. The code in basicView (an UIView) is: - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { if ( self.sliderView == nil ) // load nib { NSBundle *mainBundle = [ NSBundle mainBundle ]; SliderViewController *tem = [ [ SliderViewController alloc ] initWithNibName: @"Sliders" bundle: mainBundle biGroup: biGroup cubeGlView: self ]; self.sliderViewController = tem; [ tem release ]; self.sliderView = self.sliderViewController.view; self.sliderView.center = self.center; [ self addSubview: self.sliderView ]; } self.sliderView.hidden = NO; } Kind regards, Gerriet. _______________________________________________ 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