我有一个 UITableView
在UIViewController
嵌入在导航 Controller 中。 UIViewController
使用自动布局进行排列。我正在使用 SWTableViewCell启用从左向右滑动。这会显示一个“分享”按钮,其中显示一个 UIActivityViewController
点击时。
问题是,UIActivityViewController
调用时显示不正确,挤压到 View 的左侧并附加到左上角。例如,请参见下图,第一个是在显示 UIActivityViewController
期间,第二个曾经是 UIActivityViewController
显示。
我找不到关于此类问题的任何其他帖子。下面的代码是我如何调用 UIActivityViewController
来自 - (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerLeftUtilityButtonWithIndex:(NSInteger)index
SWTableViewCell
的方法|代表。
WhatsAppMessage *whatsappMsg = [[WhatsAppMessage alloc] initWithMessage:shareItem forABID:nil];
NSArray *activityItems = @[shareItem, whatsappMsg];
NSArray *applicationActivities = @[[[JBWhatsAppActivity alloc] init],[[LINEActivity alloc] init], [[WeixinTimelineActivity alloc] init],[[WeixinSessionActivity alloc] init]];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities];
activityViewController.excludedActivityTypes = @[UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, UIActivityTypeAddToReadingList, UIActivityTypePostToVimeo, UIActivityTypePostToFlickr, UIActivityTypeAirDrop];
[self.navigationController presentViewController:activityViewController animated:YES completion:^{}];
有什么想法吗?
最佳答案
我终于找到了答案,我知道这与自动布局有关。在项目的早期,我在代码中设置了大部分自动布局约束,并将以下行放入我的 AppDelegate.m 文件中:
self.window.translatesAutoresizingMaskIntoConstraints = NO;
删除此行后,UIActivityViewController
将完美加载!
希望这对遇到此问题的其他人有所帮助。
关于ios - 从 UITableViewCell 调用的 UIActivityViewController 显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24565545/