美文网首页程序员iOS 控件定制
iOS tableviewcontroller 添加一个view

iOS tableviewcontroller 添加一个view

作者: 喝着咖啡敲代码 | 来源:发表于2016-07-28 10:34 被阅读1493次

最近在写一个购物车提交订单的界面,出于方便直接使用了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

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

相关文章

网友评论

    本文标题:iOS tableviewcontroller 添加一个view

    本文链接:https://www.haomeiwen.com/subject/ecrajttx.html