【发布时间】:2012-03-21 09:36:09
【问题描述】:
我似乎在使用 drawrect 方法时遇到了一些问题。我正在使用 CGContextDrawPDFPage 将 PDF 页面绘制到视图上,然后我希望在加载后在视图的框架上运行 UIView 动画。但是,如果我在 drawrect 方法的末尾调用动画,它会导致动画不流畅,因为动画在 UIView 实际出现在屏幕上之前(有时是 2 秒后)持续到一半。
我正在寻找一种方法来检查视图是否已完成绘制。任何想法或帮助将不胜感激?
这是我的代码...
-(void)drawRect:(CGRect)inRect{
pageRef = [[PDFManager sharedManager] getLargePDFPageRefForPage:pageNumber];
if(pageRef) {
ctx = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(ctx, 0.0, [self bounds].size.height);
CGContextScaleCTM(ctx, 1.0, -1.0);
CGContextConcatCTM(ctx, CGPDFPageGetDrawingTransform(pageRef, kCGPDFCropBox, [self bounds], 0, true));
CGContextSetInterpolationQuality(ctx, kCGInterpolationNone);
CGContextSetRenderingIntent(ctx, kCGRenderingIntentDefault);
CGContextDrawPDFPage(ctx, pageRef);
}
[self moveFrame];
}
-(void)moveFrame{
[UIView animateWithDuration:0.7 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
self.frame = CGRectMake(0, 0, 500, 400);
} completion:^(BOOL finished) {
}];
}
【问题讨论】:
标签: iphone objective-c ios