1

iPad에서 UIActivityViewController를 사용하여 이상한 UI 결함이 있습니다.UIActivityViewController 인쇄 대화 상자 UI 글리치 (버그?)

말해서 복잡해 지므로 여기에 2 개의 동영상이 있습니다. 하나는 iOS6의 동작을 보여주는 하나의 결함이 iOS7에 하나 iOS6의 : http://quick.as/govpsry7
iOS7에 : http://quick.as/qr7jtd8b

1 호 : 화살표는 iOS7에에 그것의 위치에 떨어져 조금이다 (설계 상?). UIBarButtonItems를 사용한 일반적인 UINavigationBar입니다. (아이 패드)가 팝 오버를 제시하는

코드 : 여기에 화려한

ActivityPopover = [[UIPopoverController alloc] initWithContentViewController:activityViewController]; 

[activityPopover presentPopoverFromBarButtonItem:sender 
         permittedArrowDirections:UIPopoverArrowDirectionAny 
             animated:YES]; 

아무것도. Sender는 UIBarButtonItem입니다.

두 번째 호 : UIActivityViewController에서 인쇄 선택 PopOver는 iOS7에서 몇 가지 UI 전환 문제가 있습니다. 새로운 인쇄 옵션 PopOver가 왼쪽에서부터보기로 이동하여 전체 화면의 흐릿한 배경을 움직입니다. 두 번째 비디오에서 가장 잘 보입니다.

3rd Issue : 인쇄 옵션 대화 상자를 열면 UIWebView의 내용이 어떻게 든 조정됩니다. 나는 이유가 없다.

제 1 호와 제 2 호는 "about : blank"로 검색 할 때도 발생합니다.

누구든지 이러한 결함에 대해 알고 있습니까? 일반적인 버그?

편집 : 1st와 2nd 모습은 iOS7 버그와 유사합니다. Sam Vermette에서 SVWebViewController를 시도하고 테스트 코드를 삽입했습니다.

데모 삽입의 SVWebViewController.m에서 : 활동 팝 오버를 만질 때

- (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]; 
    } 
} 

이 같은 UI의 글리치와 :

@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 

나중에 파일, 맨 아래에 조정 인쇄 아이콘.

간단한 데모로 재현 할 수 있습니다.

환경 : SDK 7.0, 현재 공용 Xcode (2014 년 2 월 25 일 기준). 타겟 : iOS6 및 iOS7.

편집 2/3 : 3 문제에 대해서는

나는이 발견, 그래서보고 이미 : http://openradar.appspot.com/8668247

감사합니다, 프레데릭

답변

1

애플 아이폰 OS 버그로 세 가지 문제를 확인했습니다.

첫 번째와 두 번째는 위에서 언급 한 데모에서 볼 수 있습니다. 3 위는 (iPad에서) Google 브라우저 앱을 볼 수있는 것입니다. 세 번째 문제의 원인은 대화 상자 팝업 (실제로 내부 UIActivity prepareAction) 중에 UIWebView viewPrintFormatter의 크기 조정 재설정입니다.

+0

해결 방법을 찾았습니까? –

+0

인쇄 : 제 3 호 (인쇄 크기 조정)에는 Apple의 수정 사항이 필요합니다. 내가 UIWebView 오프 스크린을 만들고 수동으로 인쇄를 처리하는 이미지 수 있지만 그것은 내 현재 프로젝트에 너무 많은 작업입니다. AirPrint가 거의 사용되지 않는 것 같아요. 다른 두 개는 해결할 수 있습니다. 소스 (상업용 프로젝트)를 나눠 줄 수는 없지만 약간의 트릭을 사용하여 버튼 위치를 가져올 수 있습니다.이 맞춤 위치에서 팝업을 약간 이동 시켰습니다. 기기 회전도 돌보십시오. 희미한 BackgroundView : 새로운 너비 설정기를 구현하는 클래스를 만들고 PopOver 너비를 변경할 수 없도록 설정하십시오. –