【问题标题】:Lack of a close button on UIActivityViewControllerUIActivityViewController 上缺少关闭按钮
【发布时间】: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 上,它可以使用上面的代码,看起来就像你展示的图片(至少对我来说很接近)

标签: ios objective-c ios6 uiactivityviewcontroller


【解决方案1】:

来自UIActivityViewController 的文档(重点是我的):

在展示视图控制器时,您必须使用适用于当前设备的适当方式。 在 iPad 上,您必须以弹出框的形式呈现视图控制器。在 iPhone 和 iPod touch 上,您必须以模态方式呈现它。

在 iPad 上,用户在弹出框外点击会取消弹出框。

在 iPhone/iPod touch 上,模态视图控制器将显示一个取消按钮。

简而言之,不要在 iPad 上使用表单。

【讨论】:

  • 效果非常好。我可能应该抓住那个小花絮,但不知何故我错过了它。 iOS 编程和 Objective-C 的新手,所以我得到的所有帮助我都非常感激。谢谢!
猜你喜欢
  • 2016-05-06
  • 1970-01-01
  • 2022-09-27
  • 2020-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多