我在iPad上使用UIActivityViewController时有一些奇怪的UI故障。
复杂告诉,所以这里有两个视频。一个显示iOS6行为,另一个显示错误的iOS7行为:
iOS6:http://quick.as/govpsry7
iOS7:http://quick.as/qr7jtd8b
第一期:箭头有点偏离它在iOS7上的位置(按设计?)。带有UIBarButtonItems的常见UINavigationBar。
显示popover的代码(在iPad上):
ActivityPopover = [[UIPopoverController alloc] initWithContentViewController:activityViewController];
[activityPopover presentPopoverFromBarButtonItem:sender
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
这里没什么好看的。发件人是UIBarButtonItem。
第二期:从UIActivityViewController中选择打印PopOver在iOS7上有一些UI过渡问题。新的打印选项PopOver从左侧移动到视图中,也移动整个屏幕的不饱和背景。最好在第二个视频中看到。
第3期:如图所示,打开“打印选项”对话框时,UIWebView的内容会以某种方式进行调整。我没有看到这个原因。
第1和第2期甚至在浏览“about:blank”时出现。
有人知道这些故障吗?常见的错误?
编辑:第一和第二看起来像iOS7 Bugs。我尝试了Sam Vermette的SVWebViewController并插入了我的测试代码。
在Demo插入的SVWebViewController.m中:
@interface SVWebViewController () <UIWebViewDelegate>
@property (nonatomic, strong) UIBarButtonItem *backBarButtonItem;
@property (nonatomic, strong) UIBarButtonItem *forwardBarButtonItem;
@property (nonatomic, strong) UIBarButtonItem *refreshBarButtonItem;
@property (nonatomic, strong) UIBarButtonItem *stopBarButtonItem;
@property (nonatomic, strong) UIBarButtonItem *actionBarButtonItem;
@property (nonatomic, strong) UIPopoverController *popover; // added
稍后在文件中,在最底部,调整:
- (void)actionButtonClicked:(id)sender {
NSArray *activities = @[[SVWebViewControllerActivitySafari new], [SVWebViewControllerActivityChrome new]];
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:@[self.self.webView.request.URL, self.self.webView.viewPrintFormatter] applicationActivities:activities];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
self.popover = [[UIPopoverController alloc] initWithContentViewController:activityController];
[self.popover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
else {
[self presentViewController:activityController animated:YES completion:nil];
}
}
当触摸Activity PopOver和Print Icon时,会产生相同的UI故障。
所以它也可以用简单的演示重现。
环境:SDK 7.0,当前的公共Xcode(截至2014年2月25日)。目标:iOS6和iOS7。
编辑2/3:
关于第3期我发现了这个问题,所以已经报道了:http://openradar.appspot.com/8668247
此致 弗雷德里克
答案 0 :(得分:1)
验证所有三个问题是Apple iOS Bugs。
上面提到的Demo可以看到第一个和第二个。第三是即使可以看到谷歌浏览器应用程序(在iPad上)。第三个问题的来源是在对话框弹出期间UIWebView viewPrintFormatter的缩放重置(实际上是内部UIActivity prepareAction)。