Ios UISearchBar没有';当设备处于横向时,t连接导航栏

Ios UISearchBar没有';当设备处于横向时,t连接导航栏,ios,uisearchbar,screen-orientation,Ios,Uisearchbar,Screen Orientation,UISearch栏添加到导航栏下。 我用 对于ios 7 在横向模式下,导航栏和搜索栏之间存在间隙。 在早期版本中,它在不使用setFrame的情况下正确显示 搜索栏下方有一个表视图。导航栏的高度在纵向和横向之间变化。使用topLayoutGuide定位搜索栏。您可以在界面生成器中执行此操作,也可以通过编程执行: - (void)viewDidLoad { [super viewDidLoad]; UISearchBar *searchBar = [[UISearchBar a

UISearch栏添加到导航栏下。 我用

对于ios 7

在横向模式下,导航栏和搜索栏之间存在间隙。 在早期版本中,它在不使用setFrame的情况下正确显示


搜索栏下方有一个表视图。

导航栏的高度在纵向和横向之间变化。使用
topLayoutGuide
定位搜索栏。您可以在界面生成器中执行此操作,也可以通过编程执行:

- (void)viewDidLoad
{
    [super viewDidLoad];

    UISearchBar *searchBar = [[UISearchBar alloc] init];
    searchBar.delegate = self;
    [self.view addSubview:searchBar];

    searchBar.translatesAutoresizingMaskIntoConstraints = NO;
    NSDictionary *views = @{@"v":searchBar,
                            @"topLayoutGuide":self.topLayoutGuide};

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[topLayoutGuide][v]" options:0 metrics:nil views:views]];
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[v]|" options:0 metrics:nil views:views]];
}

#pragma mark - UISearchBarDelegate

- (UIBarPosition)positionForBar:(id <UIBarPositioning>)bar
{
    return UIBarPositionTopAttached;
}
-(void)viewDidLoad
{
[超级视图下载];
UISearchBar*搜索栏=[[UISearchBar alloc]init];
searchBar.delegate=self;
[self.view addSubview:searchBar];
searchBar.translatesAutoResizezingMaskintoConstraints=否;
NSDictionary*视图=@{@“v”:搜索栏,
@“topLayoutGuide”:self.topLayoutGuide};
[self.view addConstraints:[nsLayoutConstraintsWithVisualFormat:@“V:[topLayoutGuide][V]”选项:0指标:无视图:视图];
[self.view addConstraints:[nsLayoutConstraintsWithVisualFormat:@“H:|[v]|”选项:0指标:零视图:视图];
}
#pragma标记-UISearchBarDelegate
-(UIBAR位置)杆的位置:(id)杆
{
返回UIBarPositionTopAttached;
}

导航栏高度在纵向和横向之间变化。使用
topLayoutGuide
定位搜索栏。谢谢@albertamg。你能解释一下怎么做吗。您指的是UI builder还是按编程方式完成的。
- (void)viewDidLoad
{
    [super viewDidLoad];

    UISearchBar *searchBar = [[UISearchBar alloc] init];
    searchBar.delegate = self;
    [self.view addSubview:searchBar];

    searchBar.translatesAutoresizingMaskIntoConstraints = NO;
    NSDictionary *views = @{@"v":searchBar,
                            @"topLayoutGuide":self.topLayoutGuide};

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[topLayoutGuide][v]" options:0 metrics:nil views:views]];
    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[v]|" options:0 metrics:nil views:views]];
}

#pragma mark - UISearchBarDelegate

- (UIBarPosition)positionForBar:(id <UIBarPositioning>)bar
{
    return UIBarPositionTopAttached;
}