Попытка разместить UINavigationController в качестве одной из вкладок внутри UITabBarController - PullRequest
0 голосов
/ 16 ноября 2010

Я пишу приложение для iPhone, которое имеет 3 вкладки.Первые два - UITableViews, но на третьей вкладке я хочу быть UINavigationController, потому что он должен использоваться для редактирования списка рецептов.

Я пробовал каждую комбинацию перьев, которую мог придумать, чтобы получитьэто работает правильно, но у меня возникают проблемы, такие как:

  • после того, как вы нажмете на вкладку редактирования, а затем вернетесь к другим вкладкам, на дисплее по-прежнему будут отображаться части вкладки редактирования, такие как панель навигации
  • когда вы нажимаете на вкладку редактирования, вы можете увидеть пустой контроллер навигации без содержимого или заголовка, даже если у моего контроллера навигации внутри вкладок есть «nib name» и «class», установленные в инспекторе

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

Большое спасибо, ребята

Ответы [ 2 ]

1 голос
/ 16 ноября 2010

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

Если вам нужен навигационный контроллер только для одного вида, вам нужно скрыть его, переключая вкладки

self.navigationController.navigationBarHidden = YES; or NO

И поскольку я не использую IB (это черный ящик), я бы порекомендовал вам выделить все (заголовок, кнопки и т. Д.) Для контроллера навигации вручную. Прекрасно работает, и вы видите, что вы сделали.

0 голосов
/ 20 ноября 2010

ОК, я решил.Я все равно был на правильном пути.

В моем главном окне теперь есть контроллер панели вкладок.Одна из вкладок имеет имя пера и класс, установленные для моего вида с навигацией.

В моем представлении с навигацией, у пера у меня есть пустой вид и контроллер навигации.В файле реализации у меня есть следующий код для подключения контроллера Nav к пустому представлению, и теперь он прекрасно работает!

- (void)viewDidLoad {
    [super viewDidLoad];    
    [[self view] addSubview:navController.view]; // This is the important line
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...