自定义UIView,悬浮在UITableViewController底部的实现

项目中需要写一个自定义View作为操作栏,并悬浮在UITableViewController底部。

对于这种基础不好的人来说,又到了补课的时间了,那么google+stackoverflow

第一步

建立了一个customView.xib,建立一个类customView.swift
,在xib中链接File's Owner与这个类, 然后在类中初始化nib

    override init(frame: CGRect) {
        super.init(frame: frame)
        loadViewFromNib ()
    }
    
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        loadViewFromNib ()
    }

    func loadViewFromNib() {
        let bundle = NSBundle(forClass: self.dynamicType)
        let nib = UINib(nibName: "customView", bundle: bundle)
        let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
        view.frame = bounds
        view.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
        self.addSubview(view);
        
    }

j

第二步

接着是需要把它悬浮在UITableViewController的底部,并且一直悬浮在固定位置。

试用了几种方法,都没实现

        //位置固定在了tableView上,没有固定在界面上
        self.view.addSubview(self.actionButtonBarView)
        //好像成功了,但是滑动返回的时候,发现actionButtonBarView没有跟随界面移动
        self.view.window!.addSubview(self.actionButtonBarView)
        //固定在了底部,但是第二次打开界面是superView = nil,原因不详
        self.view.superview!.addSubview(self.actionButtonBarView)

最后看了以前某行代码,发现居然忘记了放在navigationController上

self.navigationController?.view.addSubview(self.actionButtonBarView)

一句话完美实现了这个功能。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容