¿Cómo volver a crear el button de envío de iMessage y el layout del campo de text?

Soy nuevo en XCode y Objective-C, y estoy tratando de recrear la barra inferior de la aplicación iMessage, pero no puedo entender cómo hacerlo. He visto que otras aplicaciones usan exactamente el mismo layout, por ejemplo, WhatsApp Messenger , lo que me hizo pensar que probablemente hay una manera fácil de hacerlo.

Parece imposible get un button UIB para parecerse al button de envío, y parece igualmente imposible hacer que un UITextField se parezca al campo de input. ¿Realmente se hace todo mediante el uso de imágenes, o hay alguna forma nativa (correcta) de hacerlo? Si son todas imágenes, ¿dónde las puedo encontrar o tengo que hacer las mías?

Además, ¿cómo hago que el campo de text se expanda verticalmente mientras el usuario ingresa text? Esta pregunta al less parece responder a cómo hacer botones de ancho dynamic usando imágenes, pero no cómo hacer campos de text con altura variable.

Esto es lo que trato de recrear:

Formulario de mensaje de texto vacíointroduzca la descripción de la imagen aquí

Búsqueda rápida de Google para la barra. Tienes que hacer tus propias imágenes de button y hacer que cambie cuando lo tocas. Es una vista de text que no es un campo de text y tiene que hacer que cambie de tamaño dinámicamente. Hay una vista de image detrás que también cambia de tamaño. Mi sugerencia es usar Google más. Encontré muchas cosas por una búsqueda de google de 2 segundos. En cuanto a la barra él es el enlace http://developer.apple.com/library/ios/#samplecode/KeyboardAccessory/Introduction/Intro.html

No hay una forma fácil de hacerlo. La parte difícil es imitar el comportamiento y la position precisa de los elementos. Lo hice con gran precisión para una aplicación que desarrollé y extrajo la barra de composition en un proyecto independiente para que cualquiera pueda getlo fácilmente. Se llama PHFComposeBarView . Esto es lo que parece:

PHFComposeBarView

Solo para resumir, esas son las características:

  • El título del button principal (el de la derecha) se puede cambiar.
  • color de tinte del button principal se puede cambiar
  • Se puede cambiar el título del marcador de position.
  • El marcador de position se expone como una propiedad para una mayor personalización.
  • La vista de text está expuesta como una propiedad para una mayor personalización.
  • El button de utilidad (el de la izquierda) se puede mostrar configurando la image del button de utilidad (mejores resultados para imágenes en blanco sobre background transparente con una longitud de hasta 32pt)
  • contador de caracteres opcional cuando se especifica un recuento de caracteres máximo (similar a escribir un SMS en Messages.app; no se impone el límite máximo de recuento de caracteres)
  • utiliza la delegación para notificar sobre las presiones de los botones
  • reenvía los methods de delegación desde la vista de text
  • crece automáticamente cuando el text se envuelve y publica notifications y envía posts delegates sobre los cambios de marco antes y después del cambio para que pueda ajustar sus otras vistas para los cambios de marco y envía methods de delegado para que pueda ajustar sus vistas
  • por defecto crece hacia arriba, alternativamente hacia abajo
  • altura máxima para el crecimiento se puede especificar en términos de puntos o numbers de línea