iOS:以适当的分辨率渲染子视图

时间:2013-05-21 06:58:13

标签: ios render drawrect cgaffinetransform setneedsdisplay

我有一个有几个子视图的视图。我正在使用变换来缩放视图400%,这非常有效,但我不确定如何缩放子视图的“绘图”。因此,当我渲染缩放视图时,子视图会变得模糊,因为它们的绘图仍然是100%。

我在视图及其子视图上尝试了[view setNeedsDisplay],但绘图仍然是低分辨率。

有关如何修复此渲染的任何想法?

1 个答案:

答案 0 :(得分:1)

尝试:

CGFloat myScale = 4.0;
[view setContentScaleFactor:myScale*[[UIScreen mainScreen] scale]]];

此外,如果您在UIScrollView中嵌入视图以允许用户放大/缩小,您可以将此实现放在UIScrollViewDelegate中:

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale {
    scale *= [[[scrollView window] screen] scale];
    [view setContentScaleFactor:scale];
}