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

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

目前需要考虑以下情况:

  • alpha

  • hidden

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

  • 电话或者进入后台

  • 被其它视图遮挡

PHPz
PHPz

学习是最好的投资!

membalas semua(3)
迷茫

alfa, tersembunyi——Anda boleh mengetahui kedua-dua UIView ini dengan mendapatkan sifatnya sendiri
UIScrollView subview——Anda boleh mendapatkan bingkai UIView berbanding skrin melalui [scrollView convertRect:self.frame toView:[UIApplication sharedApplication].keyWindow]; dan anda juga boleh menilai melaluinya. data khusus sama ada
memanggil atau memasuki latar belakang dalam julat paparan - dengan melaksanakan kaedah proksi yang sepadan dalam appdelegate, pemberitahuan akan dihantar selepas kaedah proksi dilaksanakan, supaya UIView boleh menerima pemberitahuan dan juga mengetahui bahawa
disekat oleh pandangan lain - ini Hanya kawal perkara sendiri Jika anda menulis aplikasi sendiri, anda pasti akan tahu bila ia akan disekat

阿神

/* Kembalikan benar jika rect2' is contained in rect1', palsu sebaliknya. `rect2'
terkandung dalam rect1' if the union of rect1' dan `rect2' bersamaan dengan
`rect1'. */

CG_EXTERN bool CGRectContainsRect(CGRect rect1, CGRect rect2)

CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);
巴扎黑

Adakah anda tidak menyenaraikan kesemuanya?

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan