问题
In interface builder, there are layout options to send to back or send to front any elements such as UIButton
, UIImage
, UILabel
etc...
Now, I would like to do the same at runtime, programmatically.
Is there an easy way to do that?
I do not want to create different views, just update the z-axis.
回答1:
There are a number of methods of UIView
that allow you to modify the view hierarchy.
- bringSubviewToFront:
- sendSubviewToBack:
- insertSubview:atIndex:
- insertSubview:aboveSubview:
- insertSubview:belowSubview:
- exchangeSubviewAtIndex:withSubviewAtIndex:
Since your views are already inserted into your superview, you could easily call bringSubviewToFront:
once for each view in whatever order you like.
回答2:
You could use:
[self.view bringSubviewToFront:myButton];
来源:https://stackoverflow.com/questions/1054937/programmatically-send-to-front-back-elements-created-from-interface-builder