Maison > Questions et réponses > le corps du texte
要求:方案简单易行,用户无感知(不能占用过高的 CPU)
背景:需要封装一个视图控件,该控件需要根据陀螺仪进行频繁的重绘。
目前需要考虑以下情况:
alpha
hidden
作为UIScrollView 的子视图,被滚动到视图范围外
电话或者进入后台
被其它视图遮挡
迷茫2017-04-18 09:57:01
alpha, caché——Vous pouvez connaître ces deux UIViews en obtenant leurs propres propriétés
Sous-vue UIScrollView——Vous pouvez obtenir le cadre de UIView par rapport à l'écran via [scrollView convertRect:self.frame toView:[UIApplication sharedApplication].keyWindow];
, et vous pouvez également le juger via. données spécifiques. Que
appelle ou entre dans l'arrière-plan dans la plage d'affichage - en implémentant la méthode proxy correspondante dans appdelegate, une notification sera envoyée après l'exécution de la méthode proxy, afin que UIView puisse recevoir la notification et également savoir que
est bloqué par d'autres vues - contrôlez simplement les choses par vous-même. Si vous écrivez une application par vous-même, vous saurez certainement quand elle sera bloquée
阿神2017-04-18 09:57:01
/* Renvoie vrai si rect2' is contained in
rect1', faux sinon. `rect2'
est contenu dans rect1' if the union of
rect1' et `rect2' est égal à
`rect1'. */
CG_EXTERN bool CGRectContainsRect(CGRect rect1, CGRect rect2)
CG_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0);