How to Insert View in Superview's View? (iOS)

前端 未结 4 1676
时光取名叫无心
时光取名叫无心 2021-01-22 17:16

I have the line of code below... How would I modify it to insert the subview in the superview\'s view named \'foo\'?

[[self superview] addSubview:copy3];
         


        
相关标签:
4条回答
  • 2021-01-22 17:53

    First tag the view myView with a unique number:

    myView.tag = 0x1234;
    

    Then you can find it using viewWithTag:

    [[[self superview] viewWithTag:0x1234] addSubview:mySubview];
    
    0 讨论(0)
  • 2021-01-22 17:57

    First make myView into a property of the superview Then use

    [[[self superview] myView] addSubview:mySubview];
    
    0 讨论(0)
  • 2021-01-22 18:01

    You might just actually add it to 'view' instead of 'superview'.

    [[self view] addSubview:mySubview];
    

    It works just fine for me, whenever I add subviews to my parent view. Let me know if something went wrong.

    0 讨论(0)
  • 2021-01-22 18:12

    There are more than 1 ways of doing this -

    1.have an IBOutlet reference in your code. This is created from xcode Interface builder. Once you have this then it fairly straight forward -

    [iboutlet_foo_object addSubview:copy3];
    

    2.tag the view that you are interested in. Again tagging a view can be done from xcode Interface builder or from code. After that -

    Foo *fooObj = [[self superview] viewWithTag:tagInt];
    [fooObj addSubview:copy3];
    

    3.Finally you can iterate through all the views in your superview & see which one is of type Foo -

    NSArray *subviews = [[self superview] subviews];
    for(UIView *v in subviews)
    {
        if(v isKindOfClass:[Foo class])
        {
            [v addSubview:copy3];
            break;
        }
    }
    

    hope these methods help you...

    0 讨论(0)
提交回复
热议问题