Каждая вкладка имеет свой собственный контроллер вида. В идеале, вы должны removeFromSuperview
все контроллеры, которые вы не показываете.
На ваш код, вы только removeFromSuperView
на HomeTabAction
.
Попробуйте изменить это:
if let viewWithTag = self.view.viewWithTag(100) {
print("Tag 100")
viewWithTag.removeFromSuperview()
}
до
for v in self.view.subviews {
if v.tag == 100 {
v.removeFromSuperview()
}
}
Но, пожалуйста, имейте в виду, что каждый раз, когда пользователь нажимает какие-либо вкладки, не возвращаясь домой ( т.е.: многократно нажимая между Меню и Поиском), похоже, что вы просто создаете множество контроллеров, без удаляя их.
Вы должны удалять другие виды каждый раз, когда создается новый. Было бы целесообразно назначить уникальный тег каждому контроллеру представления и удалять скрытые другие после каждого изменения, а не только при возвращении на главную страницу. Или, по крайней мере, проверьте, создан ли контроллер представления с данным типом, прежде чем создавать новый.