在 iPad 上使用 UIActivityViewController 时,我遇到了一些奇怪的 UI 故障。
说起来很复杂,所以这里有两个视频。一个显示 iOS6 行为,一个显示有故障的 iOS7 一个: iOS6:http
://quick.as/govpsry7
iOS7 :http: //quick.as/qr7jtd8b
第一个问题:箭头有点偏离它在 iOS7 上的位置(按设计?)。带有 UIBarButtonItems 的通用 UINavigationBar。
呈现弹出框的代码(在 iPad 上):
ActivityPopover = [[UIPopoverController alloc] initWithContentViewController:activityViewController];
[activityPopover presentPopoverFromBarButtonItem:sender
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
这里没有什么花哨的。发件人是 UIBarButtonItem。
第二个问题:从 UIActivityViewController PopOver 中选择打印在 iOS7 上有一些 UI 转换问题。新的 Print Options PopOver 从左侧移动到视图中,同时移动了整个屏幕的不饱和背景。最好在第二个视频中看到。
第三个问题:如所见,当打开打印选项对话框时,UIWebView 的内容会以某种方式调整。我看不出这是什么原因。
浏览到“about:blank”时甚至会出现第一个和第二个问题。
有人知道这些故障吗?常见的错误?
编辑:第一个和第二个看起来像 iOS7 错误。我尝试了 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:
关于我发现这个的第三个问题,所以它已经报道了:http: //openradar.appspot.com/8668247
问候,弗雷德里克