1

我正在展示一个 UIActivityViewController,最终结果是什么都没有显示。视图呈灰色显示,在呈现动画期间,您可以看到“取消”按钮放大到屏幕的左上角,但是什么也没有。

这是我展示视图控制器的代码:

    NSString *textItem = [NSString stringWithFormat:@"wow this is cool!"];

    NSArray *items = [NSArray arrayWithObjects:textItem,nil];

    UIActivityViewController *activityVC =
    [[UIActivityViewController alloc] initWithActivityItems:items
                                      applicationActivities:nil];

    activityVC.excludedActivityTypes = nil;
    activityVC.completionHandler = ^(NSString *activityType, BOOL completed)
    {
    };

    [self presentViewController:activityVC animated:YES completion:nil];

通过 NSLog,我可以看到带有以下信息的 activityVC 的子视图:

    <UIActivityListView: 0x22545920; frame = (0 0; 0 0); autoresize = W+H; autoresizesSubviews = NO; layer = <CALayer: 0x22545c20>> 

在我的演示文稿中,如果我递归子视图并查找框架等于 (0 0; 0 0) 的视图,然后手动将框架设置为,例如屏幕的边界,则显示活动视图,但是取消按钮不'不出现,这似乎一开始就被黑了。我已经使用上面显示的确切代码创建了示例项目,并且活动视图控制器完美显示,那么给出了什么?

4

1 回答 1

1

最后我找到了解决方案...

这都是关于自动布局问题..

self.view.translatesAutoresizingMaskIntoConstraints = NO;

在整个项目中删除此行

于 2016-06-13T11:35:13.587 回答