iOS tableviewcontroller 添加一个view

最近在写一个购物车提交订单的界面,出于方便直接使用了tableviewcontroller

interface builder设计界面

提交界面需要一个存在底部单独存在的支付按钮

底部的支付按钮

tableviewcontroller不能直接拉取一个view放入,于是用代码实现一个view的添加,创建一个_payView,并使用如下代码添加到界面底部

[self.view addSubview:_payView];

运行之后发现并不像想象的那么顺利 -_-#

运行的界面

这样添加之后是直接跟在tableview的底下,随着tableview滚动。

多次尝试之后,用新的方法添加到应用最高层

[[[[UIApplication sharedApplication]  windows] firstObject] addSubview:_payView];

然后在viewWillDisappear将_payView隐藏,不然离开该界面底部的支付界面还是会抑制存在

_payView.hidden=YES;

效果如下

单独存在底部的一个view

终于成功的添加在底部,之后还要实现点击 请选择您的收货时间 时,底部弹出一个pickview供用户选择,如果用下列代码,点击时候也是直接加到tableview的底部,还要拉到下方才能进行选择

[self.view addSubview:_backgroundView];

[self.view addSubview:_receiptTimeView];

一个失败的pickview 

然后添加到最高层

[[[[UIApplication sharedApplication] windows] firstObject] addSubview:_backgroundView];

[[[[UIApplication sharedApplication] windows] firstObject] addSubview:_receiptTimeView];

完美的弹出来一个pickview

一本满足 :-D

最后在点击背景或者 取消 和 确定 按钮的时候 需要将这些view都清除掉,还有记得把_payView显示出来

_payView.hidden=NO;

[UIView animateWithDuration:0.15fanimations:^{

CGRect position =CGRectMake(0.0f,self.view.bounds.size.height,self.view.bounds.size.width,self.view.bounds.size.height/4);

_receiptTimeView.frame= position;

_receiptTimeView=nil;

}];

CGRect position1 =CGRectMake(0.0f,0.0f,self.view.bounds.size.width,0);

_backgroundView.frame= position1;

_backgroundView=nil;

:-)

tableviewcontroller 添加一个悬在tableview上面的view有点麻烦,感觉能不用就不要用了,开始用了tableviewcontroller拉好约束,太懒就不想换其他办法来做了(ー ー;)。po主刚入门,欢迎技术大牛和萌新来交流,一起走向更美好的PY life。 :-P

吐槽一下 引用的时候换行代码不能直接粘贴上去,还得手动换行粘贴 (・_・;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容