Programmatically send to front/back elements creat

2019-01-12 17:35发布

问题:

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];