UIActivityViewController 上缺少关闭按钮
Posted
技术标签:
【中文标题】UIActivityViewController 上缺少关闭按钮【英文标题】:Lack of a close button on UIActivityViewController 【发布时间】:2013-01-28 20:36:15 【问题描述】:我目前正在为 ios 应用程序做一些更新。对于更新,我将利用 iOS6 的功能。我正在使用 UIActivityViewController 来完成这项工作以及一些自定义 UIActivity 活动。我遇到的主要问题是没有“取消”或“关闭”按钮。退出活动视图的唯一方法是,您要么在社交网络上发布内容,要么表现得像您要去的那样然后取消。
NSArray* dataToShare = [[NSArray alloc] initWithObjects:@"blah", nil];
// Custom activities are allocated here
NSArray* customActivities = [[NSArray alloc] initWithObjects:activities, nil];
NSArray* excludedActivities = [[NSArray alloc] initWithObjects:exclusions, nil];
activityController = [[UIActivityViewController alloc] initWithActivityItems:formatArray applicationActivities:customActivities];
activityController.excludedActivityTypes = excludedActivities;
activityController.modalPresentationStyle = UIModalPresentationFormSheet;
[[UIApplication sharedApplication].keyWindow addSubview:self.view];
[[UIApplication sharedApplication].keyWindow bringSubviewToFront:activityController.view];
[self presentViewController:activityController animated:YES completion:^ closureCode
];
这在网络内容方面完成了我在活动控制器内部所需的一切,我只是没有关闭按钮。我不知道这是否是同一个问题,但是当我尝试再次打开“共享”菜单时视图消失时,它会告诉我
<UIActivityViewController: 0x1e0db7d0> on <ShareDelegate: 0x1e048490> which is already presenting <UIActivityViewController: 0x21b1d4f0>
想法?提前致谢!
*我正在使用:
iPad 2 Objective-C/C++ XCode 4.5 iOS6【问题讨论】:
默认情况下还没有取消按钮吗? techotopia.com/images/3/31/… 不,我在 iPad 上。出于某种原因,它只会提出活动,但不会取消。在我的 iPhone 上,它可以使用上面的代码,看起来就像你展示的图片(至少对我来说很接近) 【参考方案1】:来自UIActivityViewController
的文档(重点是我的):
在展示视图控制器时,您必须使用适用于当前设备的适当方式。 在 iPad 上,您必须以弹出框的形式呈现视图控制器。在 iPhone 和 iPod touch 上,您必须以模态方式呈现它。
在 iPad 上,用户在弹出框外点击会取消弹出框。
在 iPhone/iPod touch 上,模态视图控制器将显示一个取消按钮。
简而言之,不要在 iPad 上使用表单。
【讨论】:
效果非常好。我可能应该抓住那个小花絮,但不知何故我错过了它。 iOS 编程和 Objective-C 的新手,所以我得到的所有帮助我都非常感激。谢谢!以上是关于UIActivityViewController 上缺少关闭按钮的主要内容,如果未能解决你的问题,请参考以下文章
UIActivityViewController 共享 UIActivity 未显示
UIActivityViewController 不适用于 WKWebView
限制 UIActivityViewController 共享扩展活动