ios - UIView 如何判断自己不在用户的可视范围呢?
PHPz
PHPz 2017-04-18 09:55:01
0
3
674

要求:方案简单易行,用户无感知(不能占用过高的 CPU)
背景:需要封装一个视图控件,该控件需要根据陀螺仪进行频繁的重绘。

目前需要考虑以下情况:

  • alpha

  • hidden

  • 作为UIScrollView 的子视图,被滚动到视图范围外

  • 电话或者进入后台

  • 被其它视图遮挡

PHPz
PHPz

学习是最好的投资!

全員に返信(3)
迷茫

alpha、hidden — これら 2 つの UIView は、独自のプロパティを取得することで知ることができます。
UIScrollView サブビュー — [scrollView convertRect:self.frame toView:[UIApplication sharedApplication].keyWindow]; を通じて画面に対する UIView のフレームを取得でき、それを判断することもできます。
がビュー範囲内のバックグラウンドを呼び出すか入るか - appdelegate で対応するプロキシ メソッドを実装すると、プロキシ メソッドの実行後に通知が送信されるため、UIView は通知を受信し、
を認識できるようになります。 🎜> は他のビューによってブロックされています - これは自分で制御するだけです。自分でアプリを作成すれば、いつブロックされるかが確実にわかります。

いいねを押す +0
阿神

/* rect2' is contained in rect1' の場合は true、それ以外の場合は false を返します。 `rect2'
rect1' if the union of rect1' に含まれており、`rect2' は
`rect1' に等しいです。 */

CG_EXTERN bool CGRectContainsRect(CGRectect1, CGRectrect2)

リーリー
いいねを押す +0
巴扎黑

全部リストアップしたんじゃないの?

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