Всем привет, кто знает какое поле отвечает за видимость view в стеке?
т.е. если я добавляю view в tabBar, как сделать его видимым на любом VC в приложении?!
Как сделать view видимым на любом VC в стеке!?
Ну смотря как ты его добавил. Размеры ему еще неплохо бы указать. Хотя с кастомизацией tabbar мало работал.
Тут не в размерах и контроллере дело)
через subview
Пробовал z-position указывать повышенный и другими способами view добавлять!
суть в том, что хочу определить один view в таб баре, указать ему координату по y за пределами vc и при происхождении события опускать view, но для этого нужно сделать чтобы он и на модальных окнах отображался
Такого плана плашки я добавлял сам в Window. У меня была задача где надо было показывать состояние интернета. Плашка появлялась и пряталась спустя какое-то время.
Также была задача чтобы на любой вьюхе можно было спиннер показывать и прятать (если идет загрузка). Так что это можно без либы сделать, а самому. Я думал тебе надо внутрь таббара втиснуть кастомные элементы.
Так, спинер я в навигатион пихнул, эт плохая идея?!
Да, через window и стоит скорее всего творить!)
Спасибо!
Так в этом и суть) Не хочу либу импортить, посмотреть как работает нужно)
Пиши расширение для вью. И там бери window и добавляй любую логику. А когда убрать захочешь, делай кастинг по имени класса.
Делаете общий VC, в котором реализуете отображение вашей плашки или чего либо еще. Все остальные VC проекта наследуете от общего. Дальше все просто вызывается методами и ничего мудрить не нужно, особенно с либами.
тогда мне нужно иметь доступ ко всем vc, для отображения события? А я хотел централизовать все
Зачем??? Вы все равно не сможете ничего делать в VC, которые не отображаются в данный момент на экране. Вы либо чего-то не понимаете, либо что-то странное придумываете.
Да, я не понимаю)
в моем представление ваша идея привлекательна конечно и проста, но в нем же она не удобна
придется в каждом VC подписываться на события.
Да) Но RootVC Это контроллер табл-бара)
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
BaseService.authRef.rx
.stateDidChange
.subscribe(onNext: {
if $0 == nil {
self.toAuth()
} else {
BaseService.usersRef.child($0!.uid).rx
.observeSingleEvent(.value)
.map{UserModel(data: $0.value)}
.subscribe(onNext: {
if $0 == nil {
self.toAuth()
} else {
self.im = $0!
self.toTabbar()
}
})
}
})
launchScreen()
return true
}
Соотвественно в toAuth() и toTabbar() инициализируется rootVC
Но если я перехожу на модальное окно, то оно не становится rootVC))) оно идет в navigationStack на сколько я понимаю и там скорее нужно обращаться в topVC()
Поэтому еще гляну) Сейчас немножко другим занялся, отложил, а так RexHunt кинул хорошую идею, может extension сделать для VC и на уровне приложения связать с observer)
В общем подумать нужно!)
Разницы нет. Если надо на модальном показать - так же берешь и у модального контроллера у вью вызываешь нужный метод. Просто ты задачу сформулировал для меня непонятно.