Как добавить TabBar к основанному на NavigationController приложению для iPhone

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

function lifeSpanService() {
   let service = {};
   service.getLifeSpan = (LifeSpan) => {
      var number = eval(LifeSpan)
      return Math.abs(number);
   }

   return service;
}
angular.module('myApp')
    .service('lifeSpanService', lifeSpanService);

Затем вы можете использовать внедрение зависимостей для доступа к этому сервису из вашей директивы

angular.module('myApp')
    .directive('lifeSpan', ['$rootScope', 'lifeSpanService', ($rootScope, lifeSpanService) => {
        return {
            link : (scope, element, attrs) => {
                let value = 1;
                let lifespan = lifeSpanService.getLifeSpan(1);
            }        
    }]);
11
задан subjective-c 27 January 2009 в 03:47
поделиться

6 ответов

Я делаю это в нескольких своих приложениях. Прием к добавлению панели вкладок к navigationController базировался, приложение не должно использовать TabBarController. Добавьте Панель вкладок к представлению, сделайте контроллер представления для того представления TabBarDelegate и ответьте на пользовательские выборы на панели вкладок в коде контроллера представления.

Я использую Панели вкладок, чтобы добавить дополнительные представления к представлению Панели вкладок как подпредставления, перезагрузить табличное представление с различными наборами данных, перезагрузить UIPickerView, и т.д.

4
ответ дан 3 December 2019 в 05:59
поделиться

Смотрите на пример кода UICatalog. Это имеет много большого материала в нем, включая переход от одного представления до следующего.

В Вашем случае необходимо использовать метод делегата UITableView

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

В том методе Вы создадите и отобразите свой контроллер представления вкладки. Это могло быть пользовательским контроллером со связанным Nib, или Вы могли создать все это в коде в зависимости от Вашего обстоятельства.

2
ответ дан 3 December 2019 в 05:59
поделиться

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

2
ответ дан 3 December 2019 в 05:59
поделиться

Простой ответ должен сделать это приложением панели вкладок, которое загружает контроллеры навигации.

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

Можно запустить с основного шаблона приложений Панели вкладок в XCode, он должен установить основную панель вкладок с 2 простыми представлениями.

2
ответ дан 3 December 2019 в 05:59
поделиться

Можно использовать Интерфейсного Разработчика, чтобы отредактировать MainWindow.xib и добавить Контроллер Панели вкладок к Контроллеру Навигации. Можно также изменить контроллеры представления UITabBarController на Представление/Навигацию/Таблицу Контроллеры Средства выбора View/Image с окном Inspector IB. Это будет работать.

Однако я действительно не предлагаю поместить Контроллер Панели вкладок в Контроллер Навигации. Отношения между этими контроллерами запутаются, если Вы пойдете далее (сделайте их более сложными).

Принятие Вас имеет Контроллер Табличного представления в Вашем Контроллере Панели вкладок и хочет поднять представление детали. Дизайном Вы могли бы хотеть сказать Контроллеру Навигации продвигать представление в стек, но выполнение этого сделает представление детали, становится тем же уровнем с Вашим Контроллером Панели вкладок (оба под Контроллером Навигации), и Контроллер Табличного представления содержат отношение как родителя представления детали. Это довольно странно, по крайней мере, мне...

2
ответ дан 3 December 2019 в 05:59
поделиться

Окончательный ответ на этот вопрос представлен в документации iPhone SDK в Руководстве по программированию контроллера View для iPhone .

Руководство по программированию контроллера представления: объединение контроллеров представления

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

8
ответ дан 3 December 2019 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: