IOS prints the name of all the sub-views in the view.
Recursion:
- (void)listSubviewsOfView:(UIView *)view { // Get the subviews of the view NSArray *subviews = [view subviews]; // Return if there are no subviews if ([subviews count] == 0) return; // COUNT CHECK LINE for (UIView *subview in subviews) { // Do what you want to do with the subview NSLog(@"%@", subview); // List the subviews of subview [self listSubviewsOfView:subview]; }}
Method Reprinted from: http://stackoverflow.com/a/7244069/3458781
Print result:
2014-10-10 16:05:14.191 MyAPP[1951:60b] <UIView: 0x16d61a90; frame = (0 64; 320 31); autoresize = RM+BM; layer = <CALayer: 0x16ddb850>>2014-10-10 16:05:14.192 Vinyo[1951:60b] <UILabel: 0x16d1aa60; frame = (15 70; 210 20); text = 'Choose a credit card'; clipsToBounds = YES; opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x16d1c7f0>>
How to delete a subview in ios development
If you want to find a specific sub-view in a view and remove it, the method is as follows:
// Traverse all subviews in self. view in sequence
For (id tmpView in [self. viewsubviews])
{
// Find the object of the Child view to be deleted
If ([tmpView isKindOfClass: [UIImageViewclass])
{
UIImageView * imgView = (UIImageView *) tmpView;
If (imgView. tag = 1) // determines whether the condition of the subview to be deleted is met.
{
[ImgView removeFromSuperview]; // deletes a subview.
Break; // jump out of the for Loop, because the sub-view has been found, you do not need to traverse down
}
}
}
If you want to completely release this view, you can directly release or autorelease it.
I hope the answer will be helpful to you. If you still have doubts, you can ask.
In iOS development, how does one remove the current view and return to the previous view?
If you just add a UIView directly on the Root attempt, you only need to remove the view. If the view is pushed to the next attempt, you can use popViewControllerAnimated to return to the root attempt.