我在较大的代码项目中需要这个小的 PDFMaker 代码,这对于 PDFMaker 来说几乎是完成的。我更大的项目都是在情节提要中完成的,而 PDFMaker 在 xib 中完成。我没有看到您如何在同一个项目中同时完成它们。我使用 Apple “转换为情节提要发行说明”将 PDFMaker 从 xib 转换为情节提要。非常简单明了。但是,我无法让didClickMakePDF
ordidClickOpenPDF
选择器工作。我不断收到消息
无法识别的选择器发送到实例
Main.m
和一个指向文件的线程指针
return UIApplicationMain(argc, argv, nil, NSStringFromClass([MTAppDelegate class]));"
线。我是编码新手,已经为此工作了 20 多个小时,但没有成功。.h、.m 和情节提要文件中的所有动作和出口似乎都设置得很好。有人可以帮我解决这个问题,或者建议一种不同的方法来在基于故事板的项目中使用这个 PDFMaker 代码吗?
这是我的 .h 文件:
#import <UIKit/UIKit.h>
#import "ReaderViewController.h"
@interface MTViewController : UIViewController <ReaderViewControllerDelegate>
- (IBAction)didClickMakePDF:(id)sender;
- (IBAction)didClickOpenPDF:(id)sender;
@end
以下是 didClickMakePDF 的 .m 文件的相关部分:
- (IBAction)didClickMakePDF:(id)sender {
[self setupPDFDocumentNamed:@"NewPDF" Width:850 Height:1100];
[self beginPDFPage];
CGRect textRect = [self addText:@"This is some nice text here, don't you agree?"
withFrame:CGRectMake(kPadding, kPadding, 400, 200) fontSize:48.0f];
CGRect blueLineRect = [self addLineWithFrame:CGRectMake(kPadding, textRect.origin.y + textRect.size.height + kPadding, _pageSize.width - kPadding*2, 4)
withColor:[UIColor blueColor]];
UIImage *anImage = [UIImage imageNamed:@"tree.jpg"];
CGRect imageRect = [self addImage:anImage
atPoint:CGPointMake((_pageSize.width/2)-(anImage.size.width/2), blueLineRect.origin.y + blueLineRect.size.height + kPadding)];
[self addLineWithFrame:CGRectMake(kPadding, imageRect.origin.y + imageRect.size.height + kPadding, _pageSize.width - kPadding*2, 4)
withColor:[UIColor redColor]];
[self finishPDF];
}
这是 Main.m 文件:
#import <UIKit/UIKit.h>
#import "MTAppDelegate.h"
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([MTAppDelegate class]));
}
}