iOS UISearchBar высота в ландшафтном режиме в навигацииBar iPhone - PullRequest
2 голосов
/ 30 января 2012

Мне нужна помощь с searchBar в ландшафтном режиме.Я добавляю его в навигационную панель titleView - по центру:

self.searchBarTop = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 80, 30)];
self.navigationItem.titleView = self.searchBarTop;

В альбомном режиме он должен соответствовать:

enter image description here

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2012

Очевидно, что это серая область, настраивающая UISearchBar. Мне удалось использовать другой способ перемещения панели поиска за пределы панели навигации.

0 голосов
/ 30 января 2012

Используйте следующий код, чтобы найти Ориентацию iphone, а затем установите соответствующий кадр SearchBar. Установите кадр SearchBar (Портретный режим) в ViewDidLoad.

- (void)viewDidLoad {
    [super viewDidLoad];
    UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(-5.0, 0.0, 320.0, 44.0)];
    UIView *searchBarView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 310.0, 44.0)];
    searchBar.delegate = self;
    [searchBarView addSubview:searchBar];
    self.navigationItem.titleView = searchBarView;
}

-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation duration:(NSTimeInterval)duration {
    if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {     

        UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(-5.0, 0.0, 320.0, 44.0)];
        UIView *searchBarView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 310.0, 44.0)];
        searchBar.delegate = self;
        [searchBarView addSubview:searchBar];
        self.navigationItem.titleView = searchBarView;
    }
    else
    {
        UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(-5.0, 0.0, 480.0, 44.0)];
        UIView *searchBarView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 470.0, 44.0)];
         searchBar.delegate = self;
        [searchBarView addSubview:searchBar];
        self.navigationItem.titleView = searchBarView;

    }
}

Это, безусловно, поможет вам.

...