84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
这两种方式,效果一样?我指的是性能方面
欢迎选择我的课程,让我们一起见证您的进步~~
修改一個視圖的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 。分情況看吧