UINavigationController popToRootViewController, и затем сразу продвигает новое представление

Эта блок-схема , вероятно, поможет вам попасть на правильный путь. Это указывает на то, что если шифрование ограничено защитой авторских прав / интеллектуальной собственностью, оно исключается из обзора. Я дошел до этой блок-схемы с домашней страницы BIS. Эта страница ссылается на FAQ, озаглавленный World Wide Trade Compliance для App Store в iTunes, подключать к каким государствам вы можете требовать освобождение:

(i), если вы определяете, что ваше приложение не относится к категории 5, часть 2 EAR, основанной на руководстве, предоставленном BIS

blockquote>

. Надеемся, что это поможет немного разобраться.

EDIT Another интересный раздел: вы можете требовать освобождение, если:

(iii) ваше приложение использует, обращается, реализует или включает шифрование с длиной ключа, не превышающей 56 бит, симметрично, 512 бит асимметрично и / или 112 битовая эллиптическая кривая

blockquote>

23
задан Ben 5 June 2009 в 09:40
поделиться

3 ответа

У меня возникла очень похожая проблема (но без использования табуляции).

Я получил три viewController : main(root), форму и результат. когда стек UINavigationController равен

"main -> result"

на btnClick, я делаю popToRootViewControllerAnimated, а затем нажатие formViewCtrl. чтобы иметь

"main -> form"

, заголовок панели навигации и метка кнопки «назад» верны и вызывается событие formViewCtrl. НО, я все еще вижу основной вид.

Вот мое «решение»

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

iPhone 3.0, обнаружена проблема на устройстве & amp; имитатор.

Если я получу что-то новое, я буду обновлять / комментировать свой пост.

10
ответ дан User_1191 29 November 2019 в 00:39
поделиться

Я нашел обходной путь, но не могу объяснить, почему он работает: 1. Сначала нажмите на нужный контроллер. 2. Затем перейдите к тому, который вы хотите.

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

С уважением, Веско Колев

1
ответ дан Vesko Kolev 29 November 2019 в 00:39
поделиться

Ответ Ника Стрита отлично работает, если вы хотите использовать popToRootViewController, а затем подтолкнуть другой виртуальный канал.

VC1 -> VC2 -> VC3: нажмите кнопку возврата из VC3 => VC2, затем VC1, здесь OK

Однако, когда VC1 нажимает VC2, что в Поворот толкает VC3, затем возврат к VC1 напрямую из VC3 не работает должным образом:

Я реализовал в VC3 -(void)viewWillDisappear:(BOOL)animated:

-(void)viewWillDisappear:(BOOL)animated{

    ...
    [self.navigationController popToRootViewControllerAnimated:YES];
}

Я также пытался реализовать его в «кнопка назад», тот же результат: при нажатии кнопки назад от VC3, чтобы вернуться к VC1: он ломается. Фактическим VC является VC1, но панель навигации по-прежнему VC2. Играя с другими комбинациями, я получаю navBar VC1 на VC2. Всего беспорядка.

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

В VC3:

-(void)viewWillDisappear:(BOOL)animated {

    [super viewWillDisappear:animated];
    // notify VC2
    [[NSNotificationCenter defaultCenter] postNotificationName:backFromV3 object:self];
}

В VC2:

-(void)viewDidLoad {

    ...

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(backFromV3)
                                                 name:@"BackFromV3"
                                               object:nil];
}

-(void)backFromV3{
    [NSTimer scheduledTimerWithTimeInterval:0.5 
                                 target:self
                               selector:@selector(backToRootViewController)
                               userInfo:nil
                                repeats:NO];
}

-(void)backToVC1 {
    self.navigationItem.rightBarButtonItem = nil;
    [self.navigationController popToRootViewControllerAnimated:YES];
}

Конечно, сделайте необходимую очистку.

1114 Таймер здесь критичен. Если 0, он ломается. 0.5 вроде бы в порядке.

1115 Это прекрасно работает для меня. Немного тяжелый, но я не смог найти ничего, что бы сработало.

1
ответ дан JRV 29 November 2019 в 00:39
поделиться
Другие вопросы по тегам:

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