我试图将内容绘制scrollview到一个PDF上下文中,我正面临着问题pagination.
以下代码我使用过:
- (void)renderTheView:(UIView *)view inPDFContext:(CGContextRef)pdfContext
{
// Creating frame.
CGFloat heightOfPdf = [[[self attributes] objectForKey:SRCPdfHeight] floatValue];
CGFloat widthOfPdf = [[[self attributes] objectForKey:SRCPdfWidth] floatValue];
CGRect pdfFrame = CGRectMake(0, 0, widthOfPdf, heightOfPdf);
CGRect viewFrame = [view frame];
if ([view isKindOfClass:[UIScrollView class]])
{
viewFrame.size.height = ((UIScrollView *)view).contentSize.height;
[view setFrame:viewFrame];
}
// Calculates number of pages.
NSUInteger totalNumberOfPages = ceil(viewFrame.size.height/heightOfPdf);
// Start rendering.
for (NSUInteger pageNumber = 0; pageNumber<totalNumberOfPages; pageNumber++)
{
// Starts our first page.
CGContextBeginPage …Run Code Online (Sandbox Code Playgroud) 我执行以下代码片段:
NSCalendar *gregorian = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comp = [gregorian components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];
[comp setDay:1];
NSDate *firstDayOfMonthDate = [gregorian dateFromComponents:comp];
Run Code Online (Sandbox Code Playgroud)
firstDayOfMonthDate的值是= 30-4-2011但是删除是1-5-2011,即我想要任何指定日期的第一个月份日期.但它给了我上个月的最后日期.
提前致谢.
我的应用程序使用[NSDate date]函数来获取当前日期.除了AM,每个月的第一天除外,其他工作都很好.即遵循以下步骤:
NSLog(@"Current Date :: %@",[NSDate date]);O/P是:: Current Date :: 2011-05-31 19:40:21 +0000
期望的O/P是::当前日期:: 2011-06-01 00:00:0(设定的时间)+0000
从早上6点起,它工作正常.
这是什么原因?
实际上我不想要字符串格式的NSDate,但我想要的是与当月第一个日期对应的NSDate日期对象.为此我使用以下代码片段:
NSCalendar *gregorian = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
[gregorian setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSDateComponents *comp = [gregorian components:(NSYearCalendarUnit | NSMonthCalendarUnit
| NSDayCalendarUnit) fromDate:[NSDatedate]];
[comp setDay:1];
NSDate *firstDayOfMonthDate = [gregorian dateFromComponents:comp];
[gregorian release];
return firstDayOfMonthDate;
Run Code Online (Sandbox Code Playgroud)
由于[NSDate date]返回错误的日期,因此组件也包含错误的日期.以上代码适用于所有senario,除了我在此主题开头发布的senario.我该怎么办?
ios ×2
iphone ×2
nsdate ×2
cgcontext ×1
date ×1
nscalendar ×1
objective-c ×1
pdf ×1
quartz-2d ×1