Advertisement
  1. Code
  2. iOS SDK

Actualización de su App Para iOS 11

Scroll to top
Read Time: 23 min

() translation by (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

Además de desarrollo de características y correcciones de errores, los desarrolladores de iOS tienen que vigilar a lo que se anuncia anualmente en la WWDC. En medio de la notable nueva SDK anunciado, hay algunos cambios iOS desarrolladores necesitarán para mantener sus aplicaciones compatibles con la plataforma.

Con Swift haber evolucionado a la versión 4, junto con mejoras y cambios que vienen al iOS SDK, los desarrolladores necesitan tamizar a través de los cambios y diseñar una estrategia para la actualización de sus bases de código. Todo ello sin romper ninguna de sus funcionalidades y características existentes. Todo trata de priorización para su proyecto: ¿Cuál es el mínimo que necesita hacer para hacer compatible con tu iOS app 11? ¿Cuál es el caso más sencillo que se pueden hacer a sus actores de proyecto o Gerente de proyecto?

Son indispensables, y ven próxima la agradable a tener pero no requiere mejoras iOS 11 trae, de optimización de su aplicación a la estética visual que enriquecerá aún más la interacción y funcionalidad de su aplicación. Con esto en mente, este tutorial le guiará por los pasos a seguir para actualizar tu aplicación, adoptar un enfoque pragmático para mejoras necesarias y opcionales.

Objetivos de Este Tutorial

Este artículo le proporcionará una visión general de los cambios que se requieren con el fin de actualizar su aplicación para iOS 11, desde arquitectura a cambios visuales como cambios editorial App Store. Además, este tutorial será organizar las secciones a partir de los cambios necesarios que se necesitan y el alcance y el esfuerzo necesario, para el bien, pero no es necesarias funciones que mejorarán su aplicación como consecuencia de iOS 11.

En este tutorial nos va cubriendo lo siguiente:

  • preparación de su aplicación (y a sí mismo) para iOS 11
  • cambios arquitectónicos
  • Cambios editorial App Store
  • Cambios de interfaz de usuario

Conocimiento asumido

Este tutorial asume un conocimiento intermedio de Swift o Objective-C y Xcode, así como familiaridad con base iOS SDK (UIKit y Fundación de la base).

Cambios Arquitectónicos

Como con cada iteración de iOS, los cambios más importantes son generalmente los arquitectónicos. Con iOS 11, se trata de migración a Swift 4, para actualizar la configuración de compilación para Xcode 9 será la primera tarea que veremos.

Migración a Swift 4 Incremental

Importante | Obligatorio

Para aquellos que tuvieron que migrar de Swift 2 a 3 el año pasado, ese proceso fue muy doloroso, y muchos de los cambios rompieron el código existente. Afortunadamente, este no es el caso de pasar de Swift 3.2 a 4, como la mayoría de las ocasiones se consideran aditivos, en lugar de desaprobación, y como resultado la herramienta de migración de Xcode 9 realiza un trabajo admirable de la transición de su Código Swift última.

Además, a diferencia de en versiones anteriores, no vas a ser forzado a hacer el upgrade a 4 de una sola vez. Es decir, proyectos Xcode simultáneamente soportan Swift 4 y 3.2 de Swift, que significa que puede tener un objetivo en su compilación de proyecto bajo 3.2 Swift y otra compilación en Swift 4. La herramienta de migración le permitirá saber que clases y funciones migra con éxito y cuáles requieren la intervención manual para resolver, en forma de errores o advertencias.

Los errores significan que usted tendrá que arreglar algo que no es compatible hacia atrás, mientras que muchas de las advertencias que indican que hay una nueva forma en Swift 4 de hacer algo, como nuevos cambios en la API. Corregir los errores y dar prioridad a los avisos antes mencionados como una tarea separada.

Para acceder a la herramienta de migración, vaya a Edición > Convertir > Swift Sintaxis en Xcode y siga las instrucciones, seleccionar los destinos que desea migrar en este momento.

The Xcode Migration Tool modal prompt screenThe Xcode Migration Tool modal prompt screenThe Xcode Migration Tool modal prompt screen

La herramienta de migración le permitirá conocer el trabajo mínimo que se necesita compilar su aplicación, y por lo tanto debería ser ninguna sorpresa que la práctica recomendable es trabajar en migrar tu aplicación de 3 a 4 incrementalmente , especialmente en grandes proyectos, prueba y conversión de objetivo por objetivo. Usted no tendrá que migrar todo a la vez, y usted puede planear su ruta de migración en etapas, donde y cuando sea necesario.

A continuación tomamos un rápido vistazo a lo que los cambios son en Swift 4 que no son obligatorios de implementar, pero bueno a saber.

Degradación de Arquitectura de 32 bits

Importante | Obligatorio

Otro cambio importante en iOS 11 es que todas las apps en la App Store ahora tienen que ser 64 bits, como aplicaciones de 32 bits no son compatibles y de hecho no trabajo incluso en dispositivos con iOS 11. Esto no debería ser una sorpresa como Apple han sido los desarrolladores de advertencia durante bastante tiempo, pero en caso de que su aplicación no ha hecho su transición, puedes seguir las directrices de Apple de Convertir Su Aplicación a un Binario de 64 bits.

Novedades en Swift 4

No es Importante | Opcional

Más allá del trabajo obligatorio necesario para conseguir su objetivo de convertirse en Swift 4 compatible con, usted tiene la opción de refactorización de su código existente para aprovechar los nuevos cambios de la API de Swift, que se desglosan según las siguientes mejoras de API-nivel:

Cadenas

Cadena ha recibido mucha atención en el Swift 4, con el cambio más notable siendo una reversión hacia Swift 1.0 donde cuerdas una vez más se definen como colecciones, por lo que puede iterar sobre una secuencia objeto carácter por carácter (SE-0163) usando un bucle for. Otros cambios notables a la clase de cadenas incluyen:

Colecciones

Diccionarios y juegos, como parte de las colecciones, también han sido renovados en el Swift 4, a partir de la filtración de diccionarios, que hasta ahora devuelve un conjunto de tuplas que consiste en pares clave/valor. Para acceder a un elemento específico, utilice el siguiente subíndice, como en una matriz:

1
listOfCars[4].value

En el Swift 4, obtendrá un diccionario en su lugar, proporciona una sintaxis más consistente, y posteriormente, acceder al diccionario devuelto como lo haría un diccionario normal. Ahora mismo se produce la función map(), donde también obtendrá un diccionario. Nuevo a subíndices acceso diccionario, usted puede proporcionar un valor predeterminado en caso de que la clave no existe, hacer el código más seguro.

1
let tomTheCat = animal[“name", default: “id”]

El resto de los cambios de colecciones incluyen:

Otros Cambios Notables

Por último, hay algunos cambios diversos cabe destacar como parte de este comunicado referente a la lengua:

Puede encontrar la lista exhaustiva de los cambios y propuestas originales en Swift.org.

App Store Cambios Editorial 

iOS 11 usuarios de la App Store ya habría notado que luce un diseño completamente nuevo con nuevas secciones, proporcionando a los desarrolladores con nuevas formas en que pueden promover sus aplicaciones y comunicarse con sus usuarios.

The new App Store Today Screen source AppleThe new App Store Today Screen source AppleThe new App Store Today Screen source Apple

Comenzará por echar un vistazo en el nuevo icono de marketing que usted ahora tendrá que cargar con las actualizaciones de la aplicación.

Maquetando el Icono

Obligatorio | Mayor Prioridad

A partir de iOS 11, para los nuevos envíos, si su aplicación es nueva o uno ya existente, tendrá que incluir un icono de marketing tamaño de icono-1024.png—a 1024 x 1024. Convenientemente suficiente, no necesita presentar el icono vía iTunes Connect, pero a través de Xcode, va a Images.xcassets y añadiendo la imagen de tamaño adecuado, al igual que administrar otros iconos:

You add the Marketing Icon in XcodeYou add the Marketing Icon in XcodeYou add the Marketing Icon in Xcode

El icono de marketing se utiliza como parte del nuevo proceso de diseño de App Store, para mostrar un icono de imagen más grande que representa su aplicación en la sección de hoy, o en otras secciones donde se amplía la representación gráfica de la aplicación.

Promover las Compras In-App

Opcional | Menor Prioridad

Apple ha hecho el proceso de compras en la aplicación más prominente y transparente, permitiendo a los usuarios ver todos las opciones de compras en la aplicación directamente mediante el mismo nivel que el producto de la aplicación mostrarán y de hecho, incluso inician una compra en la aplicación de la aplicación mientras se descarga la aplicación real. Pensar en una aplicación de suscripción donde los usuarios que descarguen la aplicación ya puede adquirir su suscripción. iOS 11 lo hace más rápido y más conveniente.

A partir de iOS 11, los programadores son capaces de promover hasta 20 compras en aplicación como suscripciones en la página del producto de su aplicación. Estas opciones también aparecen en los resultados de búsqueda de compra.

Promover las compras en la aplicación también puede alentar a descargas de su aplicación. Cuando un usuario no tiene la aplicación instalada pero quiere comprar una compra en aplicación promovida, ellos recibirán un mensaje para descargar la aplicación primero. Una vez descargada la aplicación, la operación continuará en la bobina (Apple)

Marketing in-app purchases more visibly in the App Store source AppleMarketing in-app purchases more visibly in the App Store source AppleMarketing in-app purchases more visibly in the App Store source Apple

Para permitir una mayor visibilidad de promoción compra en la aplicación, en iTunes Connect usted necesitará incluir los siguientes metadatos:

  • Imagen: Esta es la única imagen promocional que representa su compra en la aplicación, que aparecen en su página de producto de App Store, fichas hoy, juegos y aplicaciones, así como otras áreas prominentes. Esto no debe consisten en una captura de pantalla o representar el icono de la aplicación, pero más bien representan lo que la aplicación de compra no. La imagen también debe ser en formato PNG y alta calidad con dimensiones de 1024 x 1024.
  • Nombre: El nombre para mostrar de la compra en la aplicación, que consta de un máximo de 30 caracteres. Este debe ser específico, acorde con la función de la compra en la aplicación específica. Si es una suscripción, lo dicen y garantizar que la duración de la suscripción se incluye en el título, como "Un mes acceso suscripción".
  • Descripción: 45 caracteres, las descripciones proporcionan el contexto para los usuarios a entender y apreciar los beneficios de su oferta específica de aplicación.

Para obtener más información sobre la promoción de su compra en la aplicación, consulte las pautas oficiales de Apple, así como las pautas del producto de Apple.

Comunicación con Sus Clientes

Opcional | Menor Prioridad

Algo que es sin duda los desarrolladores desde hace mucho tiempo y Android han gozado durante bastante tiempo, es la capacidad de responder directamente a los comentarios de los usuarios. A partir de iOS 11, los desarrolladores también directamente ahora pueden responder a comentarios de sus usuarios y comentarios. Mientras que esto no requiere de modificaciones técnicas y la participación es opcional, conectan los desarrolladores a través de iTunes (App > Actividad > Calificaciones) puede responder a los elogios como críticas.

Developers can now respond to comments and reviews in the App Store source AppleDevelopers can now respond to comments and reviews in the App Store source AppleDevelopers can now respond to comments and reviews in the App Store source Apple

Individualizado desarrollador respuestas pueden aprovecharse para construir relaciones más fuertes y más íntimas, fomentar el compromiso más profundo, mostrando sus comentarios está siendo revisado y respondido a cuestiones que son se escucha activamente. Para responder a los comentarios, simplemente vaya a iTunes Connect donde puede ver los comentarios y responder individualmente.

Además de la nueva función de comentarios de desarrollador, Apple también han proporcionado un nuevo SDK formalizado a los usuarios a evaluar y revisar las apps. La nueva SKStoreReviewController debe utilizarse en lugar de cualquier tercero o incitando manual de usuarios para revisiones, porque Apple quiere que el sistema operativo para poder controlar la frecuencia de los mensajes, así como su aspecto visual. Apple así limitará mensajes a no más de tres veces en un periodo de 365 días.

Para implementar SKStoreReviewController, simplemente importar StoreKit y llame a requestReview() como se muestra a continuación:

1
...
2
import StoreKit
3
...
4
SKStoreReviewController.requestReview()
5
...

Mientras que Apple no ha prohibido rotundamente los otros métodos de incitar a los usuarios para la retroalimentación, esperamos esto cambie en un futuro cercano, así que es mejor que empezar a pensar de la aplicación de motor de símbolo del sistema de revisión de Apple durante el próximo año.

Se refieren a Calificaciones, Comentarios y Respuestas de Apple pautas para obtener más información.

Implantación Incremental

Opcional | Menor Prioridad

Otra característica muy útil iOS 11 trae para los desarrolladores es la posibilidad de liberar sus aplicaciones a los usuarios de forma incremental. Apple llama a esta liberando por fases, y está encaminada a reducir el riesgo de sobrecargar el entorno de producción a la vez, por el contrario el despliegue de las actualizaciones de versión durante un período de siete días.

Developers can now roll-out an app in phases over a 7-day periodDevelopers can now roll-out an app in phases over a 7-day periodDevelopers can now roll-out an app in phases over a 7-day period

Bajo la Versión Revisada de iTunes Connect, hay una nueva sección denominada Liberación Gradual para Actualizaciones Automáticas, que le da la opción de ya sea liberando inmediatamente o durante el período de siete días. Los desarrolladores también son capaces de detener el roll-out por fases hasta 30 días, lo que ocurriría normalmente si un problema de importancia es descubierto y divulgado.

A chart demonstrating the percentage of users receiving the app split over a 7-day periodA chart demonstrating the percentage of users receiving the app split over a 7-day periodA chart demonstrating the percentage of users receiving the app split over a 7-day period

Cabo por etapas no impide que los usuarios obtener manualmente la actualización de la App Store, pero más bien está dirigido a usuarios que usen la descarga automática de iOS en la App Store.

A continuación, vamos a echar un vistazo a los cambios visuales que se introdujeron como parte de iOS 11, como vamos a través de los importantes, así como los temas menos importantes.

Cambios de Interfaz de Usuario

Después de mirar la arquitectura, así como la app store publica cambios para iOS 11, ahora estamos dispuestos a diseccionar los cambios visuales y ayuda que priorizar qué cambios de interfaz de usuario debe abordarse primero.

Importante, aunque ciertamente podríamos construir nuestras aplicaciones iOS sin implementar los cambios en esta sección, tratar sólo la arquitectura y cambios de la App Store, puede desea asegurarse que su aplicación visualmente compatible con el nuevo iPhone X. Esto significa cambios en las barras de navegación para abordar la nueva física 'muesca' en la parte superior.

Con esto en mente, veremos actualizar la interfaz de usuario para el iPhone X primero para arriba, seguido por algunos otros cambios rápidos que garanticen su aplicación aparece moderno y actual.

Actualización de su Interfaz de Usuario Para el iPhone X

Obligatorio | Mayor Prioridad

Una de las tareas más importantes en la actualización de su app de iOS es garantizar es asegurar que su aplicación se ve bien y funciona muy bien en los dispositivos más nuevos, mientras que no romper su anterior dispositivo de apoyo. Por eso Apple ha trabajado muy duro para proporcionar a los desarrolladores con herramientas tales como Auto Layout para el diseño de diseños de pantalla independiente, ya sea el iPhone 4, C 5 o la 6 y 6 más. A partir de este año, ahora tenemos un teléfono que no sólo tiene nuevas dimensiones, pero también tiene una ranura física en la parte superior.

The top notch of the iPhone XThe top notch of the iPhone XThe top notch of the iPhone X

¿Observe que ya no tienen una ventana rectangular, y con la nueva muesca en la parte superior de los sensores físicos, cómo Apple recomienda que tratar con eso? Por un lado, Apple no quiere colocar barras negras en la parte superior para ocultar la ranura! En cambio, están abogando para que los desarrolladores a adoptarlo.

No la máscara o llamar especial atención a las características clave de la pantalla. No intente ocultar redondeados, carcasa del sensor o indicador para acceder a la pantalla de inicio mediante la colocación de barras negras en la parte superior e inferior de la pantalla del dispositivo. No utilizar adornos visuales como los soportes, Marcos, formas o texto informativo para llamar la atención especial a estas áreas sea. (iOS Lineamientos de Interfaz Humana)

Necesita de la experiencia de pantalla completa, aprovechando bisel-diseño del nuevo dispositivo mientras no ocultando partes de la interfaz de usuario con esquinas redondeadas o cubierta del sensor (muesca) del dispositivo.

The layout of the iPhone X along with the safe areas Auto-Layout source iOS Human Interface GuidelinesThe layout of the iPhone X along with the safe areas Auto-Layout source iOS Human Interface GuidelinesThe layout of the iPhone X along with the safe areas Auto-Layout source iOS Human Interface Guidelines

La buena noticia es, elementos de interfaz de usuario de Apple proporciona el sistema de UIKit como la UINavigationBar ya se ajustan y adaptan a los nuevos requerimientos de diseño de la caja. Sin embargo para cualquier elemento de interfaz de usuario personalizado, usted necesitará hacer la obra de conformidad.

Comparing the UI elements on the iPhone 47 versus the iPhone X source iOS Human Interface GuidelinesComparing the UI elements on the iPhone 47 versus the iPhone X source iOS Human Interface GuidelinesComparing the UI elements on the iPhone 47 versus the iPhone X source iOS Human Interface Guidelines

Mirando las imágenes del iPhone 4.7 en comparación con el nuevo iPhone X encima, usted notará cómo la barra de estado ahora se implementa de forma diferente, a partir de su altura, que ha crecido desde el histórico 20 pt a pt 44 en el iPhone X.

Apple sugiere que los desarrolladores de aplicaciones que han estado ocultando las barras de estado deberían reconsiderar esa decisión a la luz el iPhone X y sólo ocultarlo en modo paisaje, modo de retrato no.

Por último, hacer uso de las Guías Zona Segura de Diseño aprovechando diseños de automóvil como su principal medida para su aplicación se ajusta dentro de sus márgenes apropiados, no garantizando obstáculos visuales, como underlapping la barra de estado o la barra de navegación.

iPhone X Safe Areas source iOS Human Interface GuidelinesiPhone X Safe Areas source iOS Human Interface GuidelinesiPhone X Safe Areas source iOS Human Interface Guidelines

Dos excelentes recursos para ayudar a comenzar con el diseño para el iPhone X son los siguientes videos de la WWDC:

Implementar Drag & Drop

Opcional | Menor Prioridad

Uno de los más hablado sobre el nuevo SDK en la WWDC de este año es arrastrar y soltar. Esto es algo que los usuarios de escritorio han sido acostumbrados a por un tiempo muy largo, pero su ausencia en la plataforma iOS significó que el iPad y el iPhone han adoptado nunca realmente multitarea. En iOS 11, esto ha cambiado, como el nuevo iOS que soporte elementos de interfaz de usuario arrastrados no sólo dentro de la misma pantalla, sino de una aplicación a otra.

Drag Drop on the iPad source Apple - Drag DropDrag Drop on the iPad source Apple - Drag DropDrag Drop on the iPad source Apple - Drag Drop

Aprovechando el motor de multi-touch de iOS, los usuarios pueden sin esfuerzo mover contenido de forma natural entre apps en el iPad (o en la misma pantalla en el iPhone) golpeando y aferrarse a una imagen, archivo, texto o elemento de interfaz de usuario específico para arrastrarlo. Esto ya es todo el sistema integrado en iOS, permitiendo a los usuarios por ejemplo al arrastrar texto desde Safari a aplicación de recordatorios del dock para crear un nuevo elemento de recordatorio.

Esto no ha marcado como obligatorio para la implementación, sino porque rápidamente se convertirá en un comportamiento esperado debido a su prevalencia en todo el sistema, se recomienda que pruebe y priorizar esto más temprano que tarde, para que puedan hacer UX de su aplicación se ajustan a el nuevo sistema estándar de comportamiento UX.

UIKit viene con cierto nivel de fricción y la gota soporte built-in, para componentes tales como UITables y UICollectionViews, pero usted necesitará puente y adaptar los elementos con código para que otros componentes puedan recibir el componente de arrastrado. Esto puede ser un poco implicado y está fuera del alcance de este artículo, pero a de cubrir arrastrar & soltar apoyo más completamente en un post de seguimiento la semana que viene.

Por ahora, brevemente, usted añadir y apoyo arrastrar y soltar en método de viewDidLoad() de su ViewController, mediante la aplicación de los dos delegados que se muestra a continuación:

1
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UITableViewDropDelegate, UITableViewDragDelegate {
2
...
3
func viewDidLoad(){
4
...
5
    firstTableView.dragDelegate = self // You associate the drag delegate to this table
6
  secondTableView.dropDelegate = self // You associate the drop delegate to this table
7
	firstTableView.dropDelegate = self
8
	secondTableView.dragDelegate = self
9
10
	firstTableView.dragInteractionEnabled = true
11
	secondTableView.dragInteractionEnabled = true
12
...
13
}
14
...
15
func tableView(_ tableView: UITableView, itemsForBeginning session: UIDragSession, at indexPath: IndexPath) -> [UIDragItem] {
16
    //(1) Drag is being initiated
17
}
18
19
func tableView(_ tableView: UITableView, performDropWith coordinator: UITableViewDropCoordinator) {
20
    //(2) Drop is being initiated 
21
}

Estén atentos para nuestro próximo artículo sobre cómo agregar arrastrar y soltar apoyan a su aplicación de iOS 11.

Otros UIKit y Cambios de Auto Diseño

Opcional | Menor Prioridad

Por último, echemos un vistazo a los restantes cambios UIKit nuevo a iOS 11, a partir de la UINavigationBar, que tiene algunas mejoras notables, incluyendo la integración de SearchViewController y grandes títulos. Entonces tomamos un vistazo a las mejoras que UITableView, de las acciones pase nuevo y mejorado para celdas de tabla vista automáticamente por tamaño.

Navegación

Ya tocamos en barras de navegación antes al hablar del iPhone X y cómo alinea con las nuevas dimensiones de barra de estado. Además, el nuevo estilo de diseño contemporáneo abogado por en iOS incluye grandes novedades en barras de navegación, visto por primera vez en la aplicación de música de Apple en iOS 10 y desde entonces un patrón de diseño establecido en todas las otras aplicaciones de sistema iOS.

Large title bars on the iPhone X Navigation Bar source iOS Human Interface GuidelinesLarge title bars on the iPhone X Navigation Bar source iOS Human Interface GuidelinesLarge title bars on the iPhone X Navigation Bar source iOS Human Interface Guidelines

El texto del título más grande proporciona un mayor énfasis en el contexto de la pantalla en una barra de navegación y ayuda a orientar a los usuarios en cuanto a la pestaña activa mientras navega a través de varias pestañas. El tamaño del texto de título no es estático pero algo se contrae como el usuario se desplaza hacia abajo, volviendo al estilo pre-iOS 11. Inversamente, al tirar hacia abajo en una vista de desplazamiento, el texto del título se incrementará ligeramente.

Utilice un título grande cuando sea necesario proporcionar extra énfasis en contexto. En algunas aplicaciones, el texto de un título grande grande, negrita puede ayudar a orientar a personas que buscan y buscan. En un diseño de pestañas, por ejemplo, grandes títulos pueden ayudar a aclarar la pestaña activa e informar al usuario cuando ha desplazado a la parte superior. Teléfono utiliza este enfoque, mientras que la música utiliza grandes títulos para distinguir áreas de contenido como artistas, álbumes, listas de reproducción y radio. Un título grande transiciones a un título estándar como el usuario comienza el desplazamiento de contenido. Grandes títulos no tienen sentido en todas las apps y nunca deben competir con el contenido. Aunque la aplicación de reloj tiene un diseño de fichas, grandes títulos son innecesarios porque cada pestaña tiene un diseño distinto, reconocible. (iOS Lineamientos de Interfaz Humana)

Como desarrollador, es usted para decidir si implementar el texto grande estilo, basado en las Directrices de Interfaz Humana de Apple y Apple recomienda que específicamente utilice los títulos del texto grande sólo para pantallas de navegación de nivel superior, en lugar de todos los niveles. Para habilitar el texto grande, simplemente añadir la siguiente propiedad a su UINavigationController:

1
navigationController?.navigationBar.prefersLargeTitles = true

Jerárquicamente, el maestro y detalle vista controladores bajo la barra de navegación tendrá el modo de texto grande habilitado de forma predeterminada debido a la herencia de los padres, y como sólo se ha mencionado, es recomendable sólo tener las pantallas de navegación de nivel superior aplicar la gran modo de texto. Para suprimir la herencia de texto grande en su pantalla de detalle, vaya a su controlador de vista y añadir lo siguiente en su inicializador (tiene que ser establecer en tiempo de inicialización):

1
required init?(coder aDecoder: NSCoder) {
2
    super.init(coder: aDecoder)
3
    navigationItem.largeTitleDisplayMode = .never
4
}

El anterior largeTitleDisplayMode se establece en .never. Sin esa línea, el valor predeterminado es .automatic, donde el controlador de vista detalle hereda las propiedades de su controlador de vista de los padres.

Buscar Controladores de Vista

Buscar ahora puede integrarse directamente en barras de navegación sin necesidad de asociar la instancia de UISearchViewController con el controlador de vista del sujeto (y su vista de encabezado de tabla) por separado. A partir de iOS 11, elegantemente puede incrustar la barra de búsqueda en la barra de navegación:

1
navigationItem.searchController = UISearchController(searchResultsController: nil)

Usted también necesitará ajustarse a UISearchResultsUpdating reaccionar para buscar términos, por supuesto. Mientras que iOS automáticamente oculta la barra de búsqueda basada en el número de filas en la vista de tabla, puede forzar la barra de búsqueda para ser visible en todo momento accionando la palanca:

1
navigationItem.hidesSearchBarWhenScrolling = false

UITableViews

Por último, echamos un vistazo a dos características nuevas y distinguidos que te presenten a UITableViews a partir de iOS 11: uno mismo-dimensionamiento y mejorar acciones de pase. Uno mismo-dimensionamiento de fue introducido en iOS 8 para aliviar la carga de los desarrolladores de tener que manualmente tamaño vista las celdas de tabla, con la capacidad de tamaño dinámicamente las celdas para ajustar el contenido de la fila usando Auto Layout. Hasta ahora, tienes que solicitar explícitamente el uso de tamaño automático:

1
tableView.rowHeight = UITableViewAutomaticDimension
2
tableView.estimatedRowHeight = 100

A partir de iOS 11, está en y establece de forma predeterminada sin código adicional, pero todavía tiene la capacidad de especificar la altura de su propia fila explícitamente, según sea necesario. iOS 11 también ha traído consigo nuevas iniciales y acciones de golpe, común en muchas aplicaciones del sistema como la propia aplicación de correo de Apple.

New Action swipes in iOS 11s UITableView source Cult of MacNew Action swipes in iOS 11s UITableView source Cult of MacNew Action swipes in iOS 11s UITableView source Cult of Mac

Además de ser capaces de poder deslizar hacia la izquierda o derecha, también puede adjuntar imágenes para asociar estas acciones. Implementar dos métodos del delegado como parte de la UIContextualAction, para iniciales y acciones de golpe:

1
override func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
2
    let trash = UIContextualAction(style: .normal, title: "Delete") { action, view, completionHandler in
3
        print("Delete")
4
        completionHandler(true)
5
    }
6
    	delete.backgroundColor = UIColor.red
7
	    delete.image = UIImage(named: "delete")
8
    let actionGroup = UISwipeActionsConfiguration(actions: [delete])
9
    actionGroup.performsFirstActionWithFullSwipe = false
10
    return actionGroup
11
}
12
..
13
override func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
14
    let archive = UIContextualAction(style: .normal, title: "Archive") { action, view, completionHandler in
15
        print("Read")
16
        completionHandler(true)
17
    }
18
	  archive.backgroundColor = blue
19
	  archive.image = UIImage(named: "archive")
20
	
21
    let move = UIContextualAction(style: .normal, title: "Move") { action, view, completionHandler in
22
        print("Move")
23
        completionHandler(true)
24
    }
25
	
26
	  move.backgroundColor = purple
27
	  move.image = UIImage(named: "move")
28
    let actionGroup = UISwipeActionsConfiguration(actions: [archive,move])
29
    actionGroup.performsFirstActionWithFullSwipe = false
30
    return actionGroup
31
}

El código anterior puede crear más de una acción contextual y agregar a la instancia de agrupación de UISwipeActionsConfiguration, para más de una acción. Se trata de una simple participación todavía mejora para aportar mayor elasticidad a sus puntos de vista de tabla, con cambios en el código mínimo, y si bien no es obligatorio, merece la pena asignar unas horas para en su Junta de planificación de sprint.

Conclusión

En este post, te he dado un resumen de los cambios en la arquitectura, App Store, y elementos visuales de iOS 11, le proporciona una idea de lo que se necesita a la acción inmediatamente y lo que pueden ser diferidas hasta más tarde. Migración a Swift 4 de iOS 11 y será mucho más fácil de lo que era en las actualizaciones de los últimos años.

Más allá de los cambios inminentes que deben hacerse, también hemos vivido los cambios Swift 4 que mejoran cadenas y colecciones, así como las mejoras visuales de UITableView y la búsqueda de controlador. Esto debería hacer más fácil para usted planificar su trabajo para realizar actualizaciones en su aplicación.

¡Estad atentos a mi próximo post sobre la aplicación de drag & drop para tus aplicaciones de iOS 11 y mientras tanto, revisa algunos de nuestros otros posts sobre nuevos cambios en iOS y Swift!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.