everyone.
I have some labels that I draw them in the xib file, and add a background view using codes,but the background view is in the front of these labels, so I cant see them. So, my question is how can I add a background view below these labels.
Thank you in advance.
If you Google UIView
you'll end up at the documentation - UIView Class Reference
Then you need to look down the list of methods until you find something that sounds like it will roughly fit your needs like these two:
- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index
and
- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview
At this point you just have to read the descriptions of how the methods behave and pick whichever one is easiest to implement for your design. It's really good for your own learning if you try to find the answer yourself before you ask a question
You can use the method insertSubview:atIndex:
[self.view insertSubview:backgroundView atIndex:0];
You can call this method in Swift 3
view.insertSubview(yourSubView, at: 0)
or
view.sendSubview(toBack: yourSubView)
In IB the subviews of a view are listed in a hierarchy under that view. Subviews which appear above their siblings in that hierarchy will appear below them in the rendered view. So in the example below, the in
99:99 AM
label appears under the Sign In
button at runtime.
If your background is just a UIImageView, consider adding the view to your NIB and then setting its UIImage at runtime. That way, you don't get confused. Also, what Paul.s said.
Swift 3 and later.
view.insertSubview(theViewYouWantToAdd, at: 0)
https://medium.com/swift-programming/dynamic-layouts-in-swift-b56cf8049b08
Use VerticalLayout as the parent. it is quite simple and effective
来源:https://stackoverflow.com/questions/10051514/how-can-i-insert-a-subview-below-the-other-subviews