Iphone 使用drawRect重新绘制

Iphone 使用drawRect重新绘制,iphone,objective-c,ios,ipad,Iphone,Objective C,Ios,Ipad,我有一个UIView的子类,其中有一个drawRect。它基本上画了一条线和一个图像。 我已经在viewDidLoad中绘制了这个,但是当视图更改为横向视图时,需要更改布局。如何重新绘制此视图?将视图的contentMode设置为UIViewContentModeRedraw。每当其边界更改时,视图将调用[self-setNeedsDisplay]。您只需根据需要调整视图的大小。将视图的contentMode设置为UIViewContentModeRedraw。每当其边界更改时,视图将调用[se

我有一个UIView的子类,其中有一个drawRect。它基本上画了一条线和一个图像。
我已经在viewDidLoad中绘制了这个,但是当视图更改为横向视图时,需要更改布局。如何重新绘制此视图?

将视图的
contentMode
设置为
UIViewContentModeRedraw
。每当其边界更改时,视图将调用
[self-setNeedsDisplay]
。您只需根据需要调整视图的大小。

将视图的
contentMode
设置为
UIViewContentModeRedraw
。每当其边界更改时,视图将调用
[self-setNeedsDisplay]
。您只需根据需要调整视图的大小。

您的意思是在willRotateToInterfaceOrientation中设置它?我还更改了UIView的y原点,但是它没有更改它。您应该在适当的时候调整视图的大小,因此我想
将旋转到InterfaceOrientation:
是一个很好的选择。只需在那里执行
myView.frame=…
。更改视图的
原点实际上不会更改其
边界
(只影响视图的位置)。更改视图的
大小是否意味着将其设置为willRotateToInterfaceOrientation?我还更改了UIView的y原点,但是它没有更改它。您应该在适当的时候调整视图的大小,因此我想
将旋转到InterfaceOrientation:
是一个很好的选择。只需在那里执行
myView.frame=…
。更改视图的
原点实际上不会更改其
边界
(只影响视图的位置)。更改视图的
大小不起作用。