【发布时间】:2011-10-05 18:23:37
【问题描述】:
我环顾四周,似乎人们说您可以在放大后重新渲染数据,因为您知道 UIScrollView 的比例因子。我还看过一些关于将图层设置为 CATiledLayer 并设置levelsOfDetailBias 和levelsOfDetail 的帖子。
我拥有的是一个 UIScrollView,其中还有一个 ResultsView,它是 UIView 的一个子类:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
CATiledLayer *tiledLayer = (CATiledLayer *)self.layer;
tiledLayer.levelsOfDetailBias = 3;
tiledLayer.levelsOfDetail = 3;
self.opaque = YES;
}
return self;
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
}
*/
+ (Class)layerClass {
return [CATiledLayer class];
}
在我有 UIScrollView 和 ResultsView 的课堂上,我会这样做:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return self.ResultsView;
}
这足以让文本重新渲染(清晰)吗?还是我需要在
中实现一些东西 - (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx {
}
如果是这样,我不知道该怎么做。在我的 UIScrollView 和 ResultsView 类中,在 ResultsView(在 XIB 中)中,我只有几个 UILabel 和 UIView(用于视图的标题/页脚的 UIView)。所以我不知道如何从 ResultsView 重绘那些。虽然 ResultsView 在 XIB 中有 UILabels 和 UIViews 作为它的子项,但我不确定如何从 ResultsView 类中重绘它们,以及无论如何我需要做什么。
或者这是错误的方法?我是否只需要通过 scrollViewDidEndZooming: 委托方法中的比例因子调整 UILabel 和 UIView 的大小? TIA
【问题讨论】:
标签: iphone