2013-06-11 3 views
1

Я представляю UIActivityViewController, и конечный результат ничего не отображается. Вид выделен серым цветом, и во время анимации представления вы можете увидеть кнопку «Отмена» до верхнего левого угла экрана, но тогда ничего нет.Рамка UIActivityViewController получает нулевое значение

Вот мой код, чтобы представить контроллер представления:

NSString *textItem = [NSString stringWithFormat:@"wow this is cool!"]; 

    NSArray *items = [NSArray arrayWithObjects:textItem,nil]; 

    UIActivityViewController *activityVC = 
    [[UIActivityViewController alloc] initWithActivityItems:items 
             applicationActivities:nil]; 

    activityVC.excludedActivityTypes = nil; 
    activityVC.completionHandler = ^(NSString *activityType, BOOL completed) 
    { 
    }; 

    [self presentViewController:activityVC animated:YES completion:nil]; 

Via NSLog, я могу видеть, подвид из activityVC со следующей информацией:

<UIActivityListView: 0x22545920; frame = (0 0; 0 0); autoresize = W+H; autoresizesSubviews = NO; layer = <CALayer: 0x22545c20>> 

В моем представлении, если я рекурсию с подвидами и посмотрите на представление с фреймом, равным (0 0; 0 0), а затем вручную установите фрейм, скажем, границы экрана, затем отобразится представление активности, однако кнопка отмены не отображается, и это кажется взломанным начать с. Я создал примеры проектов с точным кодом, показанным выше, и контроллер представления активности отображается отлично, так что дает?

+0

показать нам код 'initWithActivityItems: applicationActivities:' –

+0

третья строка кода показывает это: 'UIActivityViewController * activityVC = [[UIActivityViewController Alloc] initWithActivityItems: пункты applicationActivities: nil]; ' – prplehaze

+0

Вы используете автозапуск? В каком виде контроллера вы вызываете строки выше? –

ответ

1

наконец я нашел решение ...

все о autolayout вопрос ..

self.view.translatesAutoresizingMaskIntoConstraints = NO;

Удалить эту линию в целом проект

Смежные вопросы