Сбои пользовательского интерфейса диалогового окна печати UIActivityViewController (баги?)

StackOverflow https://stackoverflow.com//questions/22018739

Вопрос

У меня есть несколько странных сбоев пользовательского интерфейса при использовании UIActivityViewController на iPad.

Сложно рассказать, поэтому вот два видео.Один показывает поведение iOS6, а другой - неисправный iOS7:iOS6: http://quick.as/govpsry7
iOS7: http://quick.as/qr7jtd8b

1 - й Выпуск:Стрелка немного отклонена от своего положения на iOS7 (по дизайну?).Обычная панель UINavigationBar с UIBarButtonItems.

Код для представления всплывающего окна (на iPad):

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

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

Здесь нет ничего особенного.Отправителем является UIBarButtonItem.

2 - й Выпуск:При выборе Print из всплывающего окна UIActivityViewController возникают некоторые проблемы с переходом пользовательского интерфейса в iOS7.Всплывающее окно "Новые параметры печати" переходит в режим просмотра слева, перемещая при этом ненасыщенный фон всего экрана.Лучше всего видно на 2-м видео.

3- й Выпуск:Как видно, при открытии диалогового окна Параметров печати содержимое UIWebView каким-то образом корректируется.Я не вижу причин для этого.

1-я и 2-я проблемы возникают даже при переходе к "about: blank".

Кто-нибудь знает что-нибудь об этих сбоях?Распространенные ошибки?

Редактировать:1-й и 2-й выглядят как Ошибки iOS7.Я попробовал SVWebViewController от Сэма Верметта и вставил свой тестовый код.

В 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 и значка печати.

Так что это можно воспроизвести и с помощью простой демонстрации.

Окружающая среда:SDK 7.0, текущий общедоступный Xcode (по состоянию на 25.02.2014).Целевые показатели:iOS6 и iOS7.

Правка 2/3:

Что касается 3-й проблемы, я нашел это, так что об этом уже сообщалось: http://openradar.appspot.com/8668247

С уважением, Фредерик

Это было полезно?

Решение

Проверено, что все три проблемы являются ошибками Apple iOS.

1-й и 2-й варианты видны на демо-версии, упомянутой выше.3-й - даже с видимым приложением Google Browser (на iPad).Источником 3-й проблемы является сброс масштабирования UIWebView viewPrintFormatter во время всплывающего диалогового окна (фактически внутренняя UIActivity prepareAction).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top