質問

I am using the AutoresizingMask to define relative positions programatically. I got almost everything working but I cannot figure out how to preserve the same separation between two elements (UIButton, UILabel are separated by 20px) This is what I have:

UIButton, positioned at (100, 100), size: 60x30, autoresizingMask=UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin

UILabel, positioned at (180,100), size: 50x50, autoresizingMask=UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin

My problem is that I cannot maintain that 20px margin between these two elements when the orientation changes.

役に立ちましたか?

解決

I've often found that I need to do a little more "adjustments" to my UI when changing orientations than what happens automatically.

You can add this routine to your controller, and fine-tune your UI the way you like:

- (void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation) o {
   -- Set the label to be 20px to the right of your button here
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top