git - iOS开发隐藏一个View是直接设置hidden属性,还是将frame设置为0
天蓬老师
天蓬老师 2017-04-17 17:40:45
0
11
1256

这两种方式,效果一样?我指的是性能方面

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全員に返信(11)
大家讲道理

ビューのフレームを変更したり、親ビューからビューを削除すると、ビューのlayoutSubviews メソッドが直接呼び出されます。contentMode が UIViewContentModeRedraw に設定されている場合は、drawRect メソッドも呼び出されます。現時点で、これら 2 つのメソッドをカスタマイズして描画やレイアウトの作業を行うと、その作業のために CPU と GPU が消費されます。

したがって、ビューを非表示にしたいだけの場合は、hidden 属性を直接使用してください。

いいねを押す +0
刘奇

非表示に設定する方が一般的です。

いいねを押す +0
迷茫

ユーザーにとっても同様ですが、システムの隠されたバージョンの方が信頼性が高くなります。

いいねを押す +0
黄舟

これは、ニーズに応じて [self.xxx RemoveFromSuperview] で実行できます

いいねを押す +0
大家讲道理

飛電の方が良い

いいねを押す +0
阿神

隠された後も、彼はポジションを占めなければならず、それに関連する制約も存在します。

いいねを押す +0
大家讲道理

サブビューがある場合は、hidden または Removefromsuperview を使用します

いいねを押す +0
Peter_Zhu

通常の状況では、hidden を使用することをお勧めしますが、変更する必要がある制約がある場合や、layoutsubview が必要な場合は、フレームを削除または変更することをお勧めします。

いいねを押す +0
Peter_Zhu

非表示にしたい場合は、hidden を設定するだけです。それ以外の場合は、hidden という名前はそのまま「hidden」となりますので、何もする必要はありません~

いいねを押す +0
伊谢尔伦

通常、非表示にした方が信頼性が高くなります。元のフレームを変更する必要がなく、再度表示する必要がある場合は属性を直接変更するだけです。毎回フレームを変更すると、時間がかかるだけでなく、元のコントロールが変更されてしまいます。コンストレイントの場合、フレームを変更した場合は再コンストレイントする必要はありません。それ以外の場合はコンストレイントをアンインストールする必要があります。それぞれの状況を見てみましょう

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!