0

У меня такая же проблема в this post, я следую всем рекомендациям в ответах, но нот работает, в моем случае разница в том, что у меня есть контроллер табличного представления.Как предотвратить просмотр под navbar в расширении приложения iMessage

Я попытался во многих отношениях предотвратить это.

пример:

-(void)viewDidLayoutSubviews { 

    //the next 2 lines was tested with self.tableView and self.view 
    [self.view.topAnchor constraintEqualToAnchor:self.topLayoutGuide.bottomAnchor constant:8.0].active = YES; 
    [self.view constraintEqualToAnchor:[self.topLayoutGuide bottomAnchor]].active = YES; 

    [self.tableView setContentInset:UIEdgeInsetsMake(self.topLayoutGuide.length, 0, 0, 0)]; 

    self.automaticallyAdjustsScrollViewInsets = YES; 
} 

Внутри viewDidLoad:

self.navigationController.navigationBar.translucent = NO; 

    if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) 
     self.edgesForExtendedLayout = UIRectEdgeNone; 

Это мой UITableViewController конфигурации:

enter image description here

Это именно моя проблема:

enter image description here

Спасибо за помощь.

+0

вы пробовали 'Under Top Барс'? – TheValyreanGroup

+0

@TheValyreanGroup, да, на моем снимке экрана отключен. Должен быть включен? В этом есть смысл? – jose920405

+0

Ну, вы хотите, чтобы это было «ПОД» верхнюю панель, так что да, я бы подумал, что это может помочь. – TheValyreanGroup

ответ

0

Вы пытались отключить отображение панели навигации в своем контроллере? Put следующее в вашем INIT:

self.edgesForExtendedLayout = UIRectEdgeNone; 
self.extendedLayoutIncludesOpaqueBars = NO; 
self.automaticallyAdjustsScrollViewInsets = NO; 

Я использовал Masonry библиотеку AutoLayout для настройки ограничений и после сниппет работали:

[_collectionView mas_makeConstraints:^(MASConstraintMaker *make) { 

    make.left.equalTo(self.view.mas_left); 
    make.top.equalTo(self.view.mas_top); 
    make.right.equalTo(self.view.mas_right); 
}]; 
[_collectionView.bottomAnchor constraintEqualToAnchor:[self.bottomLayoutGuide bottomAnchor]].active = YES; 
0

Вы можете использовать ограничения для просмотра.

Установить верхний вид ограничения для компактного зрения, как:

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *searchViewTopConstraints; 

Обновление вашего ограничения на компактном и развернутом виде в presentRecentsViewControllerFor:

-(void)presentRecentsViewControllerFor:(MSConversation*)conversation withPresentStyle:(MSMessagesAppPresentationStyle)presentationStyle 
{ 
    tableViewC = [[UIStoryboard storyboardWithName:@"MainInterface" bundle:nil] instantiateViewControllerWithIdentifier:@"ShareRecents"]; 
    if (presentationStyle == MSMessagesAppPresentationStyleCompact) { 
    NSLog(@"Compact view"); 
    tableViewC.searchViewTopConstraints.constant = 0;   
    } else 
    { 
    NSLog(@"Expanded view"); 
    [self.view.topAnchor constraintEqualToAnchor:[self.topLayoutGuide bottomAnchor]].active = YES; 
    } 
}