Персистентное rightBarButtonItem Свойство UINavigationItem

Если я правильно понимаю вопрос, вы хотите, чтобы ваша наблюдаемая сработала только при любом изменении значения, кроме начального значения?

Вы пытались установить значение при создании элемента управления формы

new FormControl({ value: 1 });

или вы можете указать, что не хотите отправлять событие при установке значения

const formControl1 =new FormControl(1); formControl1.setValue(1, { emitEvent: false });

В соответствии с документом вы можете указать параметры при установке значения, в том числе:

emitEvent: когда true или не указано (по умолчанию ), и наблюдаемые состояния statusChanges и valueChanges генерируют события с самым последним состоянием и значением при обновлении значения элемента управления. При значении false события не генерируются.

Надеюсь, это поможет!

8
задан CIFilter 29 April 2009 в 15:01
поделиться

2 ответа

We did this in our app. We created a single UIBarButtonItem that we swap from one UIViewController to another as the user navigates. The trick was to use UINavigationControllerDelegate, the navigationController:willShowViewController:animated: method. We set the outgoing UIViewController's rightBarButtonItem to nil and the incoming controller's rightBarButtonItem to your button. It's a pain to manage, but it works.

14
ответ дан 5 December 2019 в 11:27
поделиться

Элементы UIBarButtonItem могут быть созданы как отдельные экземпляры в файле nib / xib. Если ничего особенного не происходит, что мешает вам создать кнопку в построителе интерфейсов, вам следует подключить ее к свойству rightBarButtonItem UINavigationItem для каждого контроллера представления, которому необходимо повторно использовать кнопку. Не требуется цель c.

1
ответ дан 5 December 2019 в 11:27
поделиться
Другие вопросы по тегам:

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