我有一个 MainController 和 detailcontroller。当我弹出书籍选择并选择一本书时,detailcontroller 会显示一个带有书籍文章的 UIWebView:
@interface IpadBooksViewController : UITableViewController {
SearchResult *searchResult;
IpadArticleViewController *detailController;
IpadMainViewController *mainController;
UIPopoverController *popover;
}
在 UIWebView 中,我显示了一个电子邮件图标并捕获了该方案:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
NSURL *url = [request URL];
NSString *scheme = [url scheme];
NSString *host = [url host];
if ([[url description] hasSuffix:@"next"]) {
NSLog(@"next Show");
}
BOOL isShareLinks = [host isEqualToString:@"displayShareLinks"];
BOOL isFavoriteLinks = [host isEqualToString:@"displayFavoriteLinks"];
if ([@"myappurl" isEqualToString:scheme] && (isShareLinks || isFavoriteLinks)) {
self.selectedArticleNumber = [url.path lastPathComponent];
if (isShareLinks) {
[self sendMailArticleNumber:selectedArticleNumber];
} else if (isFavoriteLinks) {
NSLog(@"ipad favorite clicked");
[self toggleFavorite:selectedArticleNumber];
Broker *broker = [[Broker alloc] init];
[broker loadProjects:self];
[broker release];
}
}
return [super webView:webView shouldStartLoadWithRequest:request navigationType:navigationType];
}
操作应该在我的 UIWebView 下显示 MFMailController,但没有显示任何错误消息:
- (void) sendMailArticleNumber:(NSString *)articleNumber {
MFMailComposeViewController* composer = [[MFMailComposeViewController alloc] init];
composer.mailComposeDelegate = self;
[composer setSubject:@"Article"];
NSString *messageBody = [Article fetchBody:articleNumber bookId:bookId];
[composer setMessageBody:messageBody isHTML:YES];
[self presentModalViewController:composer animated:YES];
[composer release];
}
欢迎任何帮助。我确实尝试创建一个弹出窗口,addView atIndex 没有成功......如果您需要更多代码,请告诉我。
大卫