我正在展示一个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)的视图,然后手动将帧设置为,比如屏幕的边界,则显示活动视图,但是取消按钮没有显示,这似乎开始时被黑了。我已经使用上面显示的确切代码创建了示例项目,并且活动视图控制器显示完美,所以给出了什么?
答案 0 :(得分:1)
最后我找到了解决方案......
全部关于自动布局问题..
self.view.translatesAutoresizingMaskIntoConstraints = NO;
删除整个项目中的这一行