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

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

目前需要考虑以下情况:

  • alpha

  • hidden

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

  • 电话或者进入后台

  • 被其它视图遮挡

PHPz
PHPz

学习是最好的投资!

全部回覆(3)
迷茫

alpha,hidden———這兩個UIView取得自己的屬性就可以知道了
UIScrollView子視圖———可以透過[scrollView convertRect:self.frame toView:[UIApplication sharedApplication].keyWindow];取得到UIView相對於螢幕的frame,透過具體資料也可以判斷是否在視圖範圍內
電話或進入後台———透過實現appdelegate中的對應代理方法,代理方法執行後發個通知,讓UIView接收通知也可以知道
被其他視圖遮擋———這個東西就自己控制吧,自己寫的app ,什麼時候會出現遮擋自己一定是知道的

阿神

/* 如果 rect2' is contained in rect1', false otherwise. `rect2'
is contained in rect1' if the union of rect1' 和 `rect2' 等於
`rect1',則傳回 true。 */

CG_EXTERN bool CGRectContainsRect(CG矩形 矩形1, CG矩形 矩形2)

雷雷
巴扎黑

你這不是都列出來了嗎?

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!