码迷,mamicode.com
首页 > 移动开发 > 详细

iOS: 神奇的addSubView

时间:2015-05-18 12:47:09      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

看着addSubView, 本以为是添加多个对象, 但通过测试代码, 发现同一个对象在addSubView中只会添加一次. 想想, 视图对象是通过引用得到的. 在视图的子视图集中, 只保存一个相应的对象, 才不会造成系统的混乱.

    override func viewDidLoad() {
        super.viewDidLoad()

        
        var view2 = UIView(frame: CGRectZero)
        
        //重复添加多次
        for i in 1...50{
            view.addSubview(view2)
        }
        
        //结果, 只添加了一次
        //view.subviews中只有三项, 前两项是_UILayoutGuide
        println(view.subviews.count)
        for i in view.subviews{
            println(i)
        }
    }

 查看addSubView的帮助, 找到了原因:

Views can have only one superview. If view already has a superview and that view is not the receiver, this method removes the previous superview before making the receiver its new superview.

视图有且只有一个父视图. 如果视图已经有一个父视图并且这个父视图不是将要添加的视图, 本方法会把视图原有的父视图移除, 将新视图设置为父视图.

iOS: 神奇的addSubView

标签:

原文地址:http://www.cnblogs.com/yaoyu126/p/4511453.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!