Sé que esta pregunta ya tiene un mensaje de confirmación. Pero me encontré con esto hoy y pensé que ofrecería mi respuesta de todos modos. La respuesta a la marca de verificación de arriba me ayudó, pero también me llevó un poco de experimentación para descubrir lo que realmente estaba sucediendo.
La imagen del botón se encoge solo en el eje xy no en y. esto es porque es demasiado alto para el botón y se encoge para ajustarse. Pero no lo reduce proporcionalmente. Solo en la vertical Entonces parece estirado. En realidad no está estirado, lo que implica una ampliación de la misma. En cambio, la altura se reduce. Conocer la diferencia, creo que es importante para entender por qué está sucediendo y cómo solucionarlo.

me hicieron lo mismo hizo el OP. Al pensar que estoy apoyando la retina, hice mi ícono 40x40. El mío era una marca de verificación verde con un canal alfa. Fue rellenado con píxeles en blanco para ser de 40x40. La aplicación se redimensionó para caber dentro de la altura disponible del botón. Pero el ancho se mantuvo igual. Entonces se convirtió en algo en el rango de 40x30 o 40x20. Creo que el botón puede manejar un icono de 30 de alto, pero luego es un poco demasiado grande para la caja en mi humilde opinión.
El OP redujo el botón a 30x30 y eso hizo que no se aplastara más. Pero esa no es la mejor solución. Porque no es realmente un botón de retina cuando haces eso. Se encoge y luego se infla en la retina.
La respuesta correcta es nombrar su versión de 40 píxeles de altura con el @ 2x y luego hacer una versión de la mitad del tamaño (20 píxeles de alto) y guardarla sin el @ 2x.El ancho puede ser lo que sea. A continuación, cargue con imageNamed: sin especificar @ 2x. Utilizará el png apropiado para un dispositivo retina o no retina.
Lo siguiente que me sucedió fue que el marco del botón era demasiado pequeño. Así que aumenté el tamaño de mi lienzo en psd para rellenar el png a 80 de ancho para hacer que el botón sea ligeramente más ancho y más taptable.
La imagen fue 40x40 ... cultivo de 30x30 hace que parezca que el tamaño adecuado, pero sigue siendo gris. Supongo que debería hacer que el interior del engranaje sea blanco, para que coincida con el texto. –
Ya, lo que lo hace blanco (después del cambio de tamaño) funciona. –