Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从UITableViewCell调用的UIActivityViewController显示不正确_Ios_Objective C_Uitableview_Uiactivityviewcontroller - Fatal编程技术网

Ios 从UITableViewCell调用的UIActivityViewController显示不正确

Ios 从UITableViewCell调用的UIActivityViewController显示不正确,ios,objective-c,uitableview,uiactivityviewcontroller,Ios,Objective C,Uitableview,Uiactivityviewcontroller,我在嵌入导航控制器的UIViewController中有一个UITableView。UIViewController使用自动布局进行排列。我正在使用以启用从左向右滑动。这将显示一个“共享”按钮,点击该按钮时会显示UIActivityViewController 问题是,调用时,UIActivityViewController显示不正确,挤压到视图的左侧并附着到左上角。例如,请参见下图,第一个是在显示UIActivityViewController期间,第二个是在显示UIActivityViewC

我在嵌入导航控制器的
UIViewController
中有一个
UITableView
UIViewController
使用自动布局进行排列。我正在使用以启用从左向右滑动。这将显示一个“共享”按钮,点击该按钮时会显示
UIActivityViewController

问题是,调用时,
UIActivityViewController
显示不正确,挤压到视图的左侧并附着到左上角。例如,请参见下图,第一个是在显示
UIActivityViewController
期间,第二个是在显示
UIActivityViewController

我还没有找到其他关于这类问题的帖子。下面的代码是如何从
-(void)swipeableTableViewCell:(SWTableViewCell*)单元格didTriggerLeftUtilityButtonWithIndex:(NSInteger)index
方法调用
UIActivityViewController

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
将完美加载


希望这能帮助其他遇到这个问题的人。

我尝试了几乎完全相同的代码,在一个空白的单视图应用程序中显示
UIActivityViewController
(有和没有
UINavigationController
),它工作得很好,所以我必须在我的应用程序中设置一些奇怪的东西。