我遇到了UIActivityViewController的问题,每次用户按下“共享”按钮时,我都会实例化一个新的实例,但它不会正确旋转。我的代码是否缺少一些必要的东西?
当我只旋转状态栏时,UIActivityViewController会旋转(而不是背景中的视图),而且有时activityView的大小也会错误。
UIActivityViewController *activityVC;
// Init sharing items and View Controller
NSString *message = [NSString stringWithFormat:@""];
UIImage *imageToShare = [UIImage imageNamed:@"imageName"];
NSArray *postItems = @[message, imageToShare];
activityVC = [[UIActivityViewController alloc]
initWithActivityItems:postItems
applicationActivities:nil];
[self presentViewController:activityVC animated:YES completion:^() {
[activityVC setCompletionHandler:^(NSString *activityType, BOOL completed) {
// Completed
}];
}];发布于 2014-01-24 01:03:56
如果我正确理解您的问题,您的视图不是旋转的,对吗?在这种情况下,您需要做的就是将此代码放入UIActivityViewController所在的视图控制器中:
- (BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}在- (NSUInteger)supportedInterfaceOrientations中,我已经为您放置了UIInterfaceOrientationMaskPortrait和UIInterfaceOrientationMaskPortraitUpsideDown,这将使视图只能在您倒置设备时旋转,但您可以添加UIInterfaceOrientationMaskLandscapeLeft和/或UIInterfaceOrientationMaskLandscapeRight,让视图在所有方向上旋转。
我希望我的回答能帮助你,如果不能,你能更好地向我解释你的情况吗?祝你今天愉快。
发布于 2018-01-19 08:32:21
如果任何人在UIActivityViewController中遇到类似的问题,请尝试在您的应用程序委托中实现此函数,并返回支持的方向。
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { }
https://stackoverflow.com/questions/18819042
复制相似问题