2012-02-24 3 views
0

J'ai une sous-classe de UIView dans laquelle il y a un drawRect. Il dessine essentiellement une ligne et une image. J'ai dessiné ceci dans viewDidLoad, mais j'ai besoin de changer la disposition quand la vue change en paysage. Comment puis-je redessiner cela?redessiner en utilisant drawRect

Répondre

6

Définissez le contentMode de la vue sur UIViewContentModeRedraw. La vue appelle [self setNeedsDisplay] chaque fois que ses limites changent. Vous n'aurez qu'à redimensionner la vue selon vos besoins.

+0

vous voulez dire le définir dans willRotateToInterfaceOrientation? J'ai aussi changé l'origine de UIView, mais cela ne change pas. – xonegirlz

+0

Vous devriez redimensionner la vue si nécessaire, donc je suppose que 'willRotateToInterfaceOrientation:' est un bon candidat. Faites juste 'myView.frame = ...' là. Changer l'origine 'frame' de la vue ne change pas vraiment ses' bounds' (seule la position de la vue est affectée). Changer la taille de 'frame' de la vue fait. – Costique