我目前正在对 iOS 应用程序进行一些更新。对于更新,我将利用 iOS6 功能。我正在使用 UIActivityViewController 来完成此操作以及一些自定义 UIActivity 事件。我遇到的主要问题是没有“取消”或“关闭”按钮。退出事件 View 的唯一方法是向社交网络发布某些内容,或者表现得像要发布然后取消。
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
}];
这在网络内容方面完成了事件 Controller 内部所需的一切,只是没有关闭按钮。我不知道这是否是同一个问题,但是当 View 消失时,如果我尝试再次调出“共享”菜单,它会告诉我
<UIActivityViewController: 0x1e0db7d0> on <ShareDelegate: 0x1e048490> which is already presenting <UIActivityViewController: 0x21b1d4f0>
想法?提前致谢!
*我正在使用:
- iPad 2
- Objective-C/C++
- XCode 4.5
- iOS6
最佳答案
来自 UIActivityViewController
的文档(重点是我的):
When presenting the view controller, you must do so using the appropriate means for the current device. On iPad, you must present the view controller in a popover. On iPhone and iPod touch, you must present it modally.
在 iPad 上,用户点击弹出框外部即可取消弹出框。
在 iPhone/iPod touch 上,模态视图 Controller 将显示一个取消按钮。
简而言之,不要在 iPad 上使用表单。
关于ios - UIActivityViewController 上缺少关闭按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14570753/