Возможен ли этот стиль просмотра? - PullRequest
2 голосов
/ 27 мая 2011

Мне нужен такой экран: всегда вверху, есть панель поиска, всегда.Прямо внизу есть навигационный контроллер.Это возможно?Я попытался изменить размер контроллера навигации в IB, но я не могу изменить его размер.Спасибо.

Ответы [ 2 ]

4 голосов
/ 27 мая 2011

Да. Однако вам придется создать интерфейс в коде. Ваш главный контроллер представления должен иметь две переменные экземпляра: первая должна быть строкой поиска, а вторая должна быть контроллером навигации. Затем в -viewDidLoad добавьте панель поиска и представление контроллера навигации в качестве подпредставлений к представлению контроллера основного вида. Результат будет выглядеть так: enter image description here

Вы можете скачать проект Xcode здесь: http://www.mediafire.com/?36dswv4u0le447k

2 голосов
/ 27 мая 2011

Это не совсем просто, но это возможно.Что вам нужно сделать, это сделать контроллер корневого представления простым контроллером представления, содержащим UIView.Это представление содержит панель поиска и «представление владельца».В тот момент, когда вы добавите представление контроллера нагигивации в окно, вы вместо этого добавите его в представление держателя.

The result

Я создал это с помощью стандартного шаблона контроллера навигации.Я изменил делегат приложения следующим образом:

//header
{
    UIWindow *window;
    UINavigationController *navigationController;
    UIViewController *rootVC;
    UIView *holderView;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
@property (nonatomic, retain) IBOutlet UIViewController *rootVC;
@property (nonatomic, assign) IBOutlet UIView *holderView;

//implementation
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    UIView *temp;
    temp = navigationController.view;
    CGRect f = holderView.frame;
    f.origin = CGPointZero;
    temp.frame = f;
    [holderView addSubview:temp];
    [window addSubview:rootVC.view];
    [window makeKeyAndVisible];
    return YES;
}

Изображение иерархии IB: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...