Maison  >  Questions et réponses  >  le corps du texte

ios - UIView 如何判断自己不在用户的可视范围呢?

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

目前需要考虑以下情况:

PHPzPHPz2765 Il y a quelques jours704

répondre à tous(3)je répondrai

  • 迷茫

    迷茫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

    .

    répondre
    0
  • 阿神

    阿神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);

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:57:01

    Vous ne les avez pas tous répertoriés ?

    répondre
    0
  • Annulerrépondre