I’m not sure what you mean by standards.
Apple’s API for the UIViewController class is that a view controller is aware of whether it’s embedded in a UITabController (even if also embedded in a UINavigationController) and can set its own tabBarItem. So your HomeController can set its own tabBarItem and that’s consistent with Apple’s design.
If you’re referring to principles such as the Single Responsibility Principle (one of the SOLID principles), then you could argue that the UITabController ought to be responsible for the tab icons of its view controllers, and the view controllers shouldn’t know about them. On the other hand it could also be argued that each view controller should be in control of its tab icon and the tab controller should not be responsible for any of the icons. Both would be valid interpretations of the principle, but Apple seem to have decided that the view controller should be responsible.
1 Like