控件不显示多是哪些缘由?

控件不显示多是哪些缘由?

是平常开发中,特别是对于初学者而言,咱们编写代码,一步一步的验证的时候,时常会出现控件没法显示的状况, 这里我总结了几种可能出现控件不显示的状况和缘由, 但愿能对iOS初学者能提供一些解决问题的思路和有更多的帮助:事件

*某个控件显示不出来可能致使的缘由:图片

1. frame属性,是否为0,或者设置的位置不对

在开发中,特别是在自定义某些控件的属性的时候, 对于控件的frame若是没有设置,或者设置错误了,控件确定是不会显示正常的,因此当你遇到控件显示不正常的时候,第一个须要思考的就是控件自己的frame属性是否正常;开发

2. hidden =YES

多数状况下,咱们须要对控件的hidden属性,也就是是否隐藏,做一些自定义, 因此,若是你检查了frame属性,肯定是对的,可是控件仍是不能显示,那么你能够来考虑一下是否是在某个时刻咱们对这个控件的hidden属性作了设置;文档

3.是否添加到了父控件中

还有一种状况,那就是,当咱们须要把某个控件添加到一个父容器(父控件)中才会显示的时候,若是,咱们忘记了添加的步骤,也是不会显示控件的,因此,这个时候,你不妨来检查一下这个方面;容器

4. Alpha <= 0.01

经过苹果的官方文档,咱们知道,当一个控件的透明度大于>0.01的时候,是能够监听事件的,不然(<=0.01),是没法监听事件的, 因此,若是Alpha<= 0.01.系统就认为这个控件不存在,此时不能监听事件,固然,也就在运行的是没法查看到控件了,方法

5.被其余控件挡住了。

控件与控件之间都是有前后层叠次序的, 若是咱们须要显示的控件被其余控件给挡住了,那确定是看不到控件的显示的,也就是咱们常说的:后添加的控件默认是添加在最上层的;总结

这个时候,咱们能够去检查一下控件的层叠次序,若是,你已经能够固定某一个控件在最上面,你能够调用一个方法,把它始终置于最上层: 如:思考

[self.view bringSubviewToFront:redView]; 经过bringSubviewToFront:这个方法,你就能够始终把某一个控件置于最上层, 固然,有最上层也就有最下层,以下:view

//把中间图片按钮放置在全部图层的最上面vi

[self.viewbringSubviewToFront:self.minidleIamgeViewButton];

//把背景图片始终置于最下面一层

[self.viewsendSubviewToBack:self.downImageView];

6.检查父控件的上面这5种状况。

若是,上面5中状况,你都检查了,仍是没有找出缘由,那么可能出现问题的是你的父控件了,因此,你能够在逐步的检查父控件的这几种状况;

上面的小总结,是我平常开发中的一些思考,但愿能给你们带来帮助,

相关文章
相关标签/搜索