84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
这两种方式,效果一样?我指的是性能方面
欢迎选择我的课程,让我们一起见证您的进步~~
修改一个视图的frame,或者是将视图从父视图上移除会直接导致调用该视图的layoutSubviews方法,而且如果设置了contentMode为UIViewContentModeRedraw的话,也会导致调用drawRect方法。此时如果你自定义了这俩个方法来做一些绘制和布局工作,将会消耗CPU和GPU来做你的工作。
因此,如果仅仅是为了隐藏视图的话,直接使用hidden属性即可。
设置 hidden 比较常见。
对于用户来说一样,不过还是系统的hiden比较靠谱。
可以这样[self.xxx removeFromSuperview],看需求了
hiden更好
hidden了之后他还是要占据位置的,他的相关约束也都存在,看需求了
如果有子视图还是用hidden或者removefromsuperview
一般情况下用hiden就好了,但如果有有约束需要改或者需要layoutsubview,还是移除或者改frame的好。
隐藏的话直接设置hidden就好啦,不然hidden这个名字直接翻译过来就是隐藏,不用干嘛呢~
一般hidden比较靠谱 因为你不用去更改原来的frame 当你需要再次显示的时候 直接修改属性就可以了。每次都更改frame 不仅慢 而且修改原来控件 。对于约束的情况 更改frame的话 可以不用重新约束 不然还得卸载constraint 。分情况看吧
修改一个视图的frame,或者是将视图从父视图上移除会直接导致调用该视图的layoutSubviews方法,而且如果设置了contentMode为UIViewContentModeRedraw的话,也会导致调用drawRect方法。此时如果你自定义了这俩个方法来做一些绘制和布局工作,将会消耗CPU和GPU来做你的工作。
因此,如果仅仅是为了隐藏视图的话,直接使用hidden属性即可。
设置 hidden 比较常见。
对于用户来说一样,不过还是系统的hiden比较靠谱。
可以这样[self.xxx removeFromSuperview],看需求了
hiden更好
hidden了之后他还是要占据位置的,他的相关约束也都存在,看需求了
如果有子视图还是用hidden或者removefromsuperview
一般情况下用hiden就好了,但如果有有约束需要改或者需要layoutsubview,还是移除或者改frame的好。
隐藏的话直接设置hidden就好啦,不然hidden这个名字直接翻译过来就是隐藏,不用干嘛呢~
一般hidden比较靠谱 因为你不用去更改原来的frame 当你需要再次显示的时候 直接修改属性就可以了。每次都更改frame 不仅慢 而且修改原来控件 。对于约束的情况 更改frame的话 可以不用重新约束 不然还得卸载constraint 。分情况看吧