【发布时间】:2013-04-10 21:39:35
【问题描述】:
我正在尝试实现一个 UIPopoverController 以便能够共享,但是当 UIPopoverController 视图显示为空时,我没有任何错误。这是我的代码:
if ([self.activityPopoverController isPopoverVisible]) {
[self.activityPopoverController dismissPopoverAnimated:YES];
} else {
NSString *textToShare=@"I'm sharing this image";
NSArray *activityItems = [[NSArray alloc]initWithObjects:self.imgToSend,textToShare,nil];
UIActivityViewController *activityVC=[[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:nil];
activityVC.excludedActivityTypes=@[UIActivityTypeAssignToContact,UIActivityTypeCopyToPasteboard ];
activityVC.completionHandler = ^(NSString *activityType, BOOL completed){
[self.activityPopoverController dismissPopoverAnimated:YES];
};
if (self.activityPopoverController) {
[self.activityPopoverController setContentViewController:activityVC];
} else {
self.activityPopoverController = [[UIPopoverController alloc] initWithContentViewController:activityVC];
}
[self.activityPopoverController presentPopoverFromRect:[(UIControl *)sender frame]
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
}
你们中的任何人都知道为什么我的代码有问题吗?
非常感谢您的帮助。
更新:
我添加这行代码:
[self.activityPopoverController setPopoverContentSize:self.contentSizeForViewInPopover animated:YES];
但它看起来都被砍掉了:
【问题讨论】:
-
你是否在 UIActivityViewController 上设置 contentSizeInPopover 属性?
-
我不是 :( 我该怎么做?
-
@HelenaM,我认为这不是原因,请检查我的答案。
-
contentSize 技巧具有误导性,您不应设置它。系统计算出activityViewController 的弹出框的contentSize。您将其任意设置为 viewController 视图的 contentSize,这是不正确的。我确定您的问题出在其他地方。
标签: ios ipad uiviewcontroller uipopovercontroller