Normalmente en cada pestaña de una UITabBartienes una pequeña imagen y un título que nombra la pestaña. La imagen está posicionada / centrada hacia la parte superior de la pestaña para acomodar el título debajo. Mi pregunta es: si desea tener una barra de pestañas con solo una imagen y sin título, ¿hay alguna manera de mover la imagen hacia abajo para que se centre mejor dentro de la pestaña?
Estoy usando (ver más abajo) actualmente:
[tabBarItem setFinishedSelectedImage:tabSelected withFinishedUnselectedImage:tabUnselected];
pero preferiría usar una imagen más grande sin título, en este momento, si hago la imagen más grande de aproximadamente 70 píxeles a 2x, comienza a salirse de la parte superior UITabBary deja mucho espacio sin usar en la parte inferior.
fuente

También puedes hacerlo a través del guión gráfico. Seleccione el elemento de la barra de pestañas, vaya al inspector de tamaño y asigne las inserciones adecuadas.
* Demostrado en Xcode, versión 7.3.1 (7D1014)
fuente
Haga una subclase de
UITabBarController, y en suviewDidLoad:Swift 3:
fuente
AppDelegatetambién funciona, pero obviamente no es mejor que subclasificarlo. Sin embargo, puede tener sus propias preferencias :)Si está usando Xamarin, esto funciona:
fuente
Esto funcionó para mi
Rápido 4
fuente
SWIFT 3.0
Puede configurar las imágenes, configurar la parte superior, izquierda, inferior y derecha según el diseño.
fuente
Para iOS 11, debe anular el método TraitCollection además de configurar ImageInsets. Agregue el método en su clase UITabBarController subclasificada
fuente
return UITraitCollection(traitsFrom: [ super.traitCollection, UITraitCollection(horizontalSizeClass: .compact)])hizo el truco para mí.En Swift 4.2 ,
UIEdgeInsetsMakeestá depurado, en su lugar deberíamos usarUIEdgeInsets,fuente