小编Sam*_*hah的帖子

Contex Drawing + Pagination

我试图将内容绘制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)

pdf iphone cgcontext quartz-2d ios

54
推荐指数
1
解决办法
1372
查看次数

使用NSCalendar检索月份的第一天

我执行以下代码片段:

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,即我想要任何指定日期的第一个月份日期.但它给了我上个月的最后日期.

提前致谢.

iphone objective-c nsdate nscalendar

5
推荐指数
1
解决办法
3207
查看次数

NSDate在月份的第一天返回错误的日期

我的应用程序使用[NSDate date]函数来获取当前日期.除了AM,每个月的第一天除外,其他工作都很好.即遵循以下步骤:

  1. 将系统日期设置为2011年6月1日至2011年6月5日至上午5点59分.
  2. 使用以下代码:
    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.我该怎么办?

date nsdate ios

5
推荐指数
1
解决办法
633
查看次数

标签 统计

ios ×2

iphone ×2

nsdate ×2

cgcontext ×1

date ×1

nscalendar ×1

objective-c ×1

pdf ×1

quartz-2d ×1