Normalmente en cada pestaña de una UITabBar
tienes 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 UITabBar
y 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
AppDelegate
tambié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 ,
UIEdgeInsetsMake
está depurado, en su lugar deberíamos usarUIEdgeInsets
,fuente