Controladores y validaciones en pantallas de registro y login
Clase 22 de 52 • Curso de Desarrollo de Apps para iOS
Contenido del curso
Tu primera app en iOS
- 4

Creación de la primera app iOS con Xcode: Login de Facebook
09:02 min - 5

Navegación entre pantallas en iOS con UI Navigation Controller
05:49 min - 6

Creación y conexión de múltiples storyboards en iOS
06:14 min - 7

Conexiones IBOutlets y IBActions en iOS con Storyboards
11:00 min - 8

Comparativa: Auto Layout vs SwiftUI en Desarrollo iOS
02:48 min - 9

Auto Layout en iOS: Diseño Responsivo con Constraints y StackViews
11:10 min - 10

Creación y configuración de tablas en iOS con Swift
12:49 min - 11

Creación de celdas personalizadas en TableView de iOS
14:00 min - 12

Persistencia de Datos en iOS con UserDefaults
11:09 min
Manejo de dependencias
Servicios Web
Proyecto: PlatziTweets
- 19

Desarrollo de "Platzi Tweets": Red Social iOS Realista
02:24 min - 20

Configuración Inicial de Proyecto iOS con CocoaPods
06:18 min - 21

Diseño de Pantallas de Bienvenida, Inicio de Sesión y Registro en iOS
13:06 min - 22

Controladores y validaciones en pantallas de registro y login
Viendo ahora - 23

Validación y Conexiones en Login y Registro iOS
10:01 min - 24
Modelado de Endpoints y JSON para API de PlatziTweets
01:44 min - 25

Integración de Autenticación con API de Platzi Tweets
09:37 min - 26

Desarrollo de Registro y Autenticación en Aplicaciones iOS
06:47 min - 27

Diseño de Interfaces para Aplicaciones iOS: Creación de Celdas Personalizadas
12:37 min - 28

Consumo de API para mostrar tweets en iOS
12:43 min - 29

Diseño de Pantalla para Crear y Publicar Tweets en iOS
11:06 min - 30

Conexión de Pantalla de Publicación con Servicios de Platzi Tweets
09:11 min - 31

Borrado de Tweets Propios en iOS usando Swipe en UITableView
12:21 min - 32

Uso de la Cámara del iPhone para Adjuntar Fotos en Posts
10:40 min - 33
Conexión de Aplicaciones iOS con Firebase paso a paso
02:26 min - 34

Configuración de iPhone y X-Code para ejecución de apps
04:45 min - 35

Subida de Fotos a Firebase y Publicación en Twitter
13:38 min - 36

Configuración de Post con Imagen en Firebase
03:13 min - 37

Captura y Publicación de Videos en iOS con Firebase
09:17 min - 38

Subida de Videos a Firebase e Integración en Posts de iOS
14:41 min - 39

Configuración de Celdas para Reproducción de Videos en iOS
07:58 min - 40

Acceso al GPS y almacenamiento de coordenadas en iOS
09:43 min - 41

Integración de Mapas en iOS con Coordenadas de Usuario
11:29 min - 42

Marcadores y Configuración de Mapas en iOS con Swift
14:11 min - 43

Mejoras avanzadas en UI y UX para iOS Developer
01:28 min
En producción
iOS Avanzado
Hola, iOS Developer
¿Cómo crear controladores independientes para cada pantalla?
La organización es clave al desarrollar una aplicación móvil, y una técnica eficaz es crear controladores independientes para cada pantalla. Esto te permitirá tener un código más limpio y manejable. Para comenzar, genera tres controladores separados en tu carpeta de bienvenida.
- WelcomeViewController: Crea con clic derecho una "Cocoa Touch Class" y asigna "UIViewController" como superclase. Llama a este controlador "WelcomeViewController".
- LoginViewController: Repite el proceso de creación para este controlador.
- RegisterViewController: Finalmente, crea este controlador bajo el mismo método.
Una vez creados, asegúrate de asignar cada uno a su correspondiente pantalla de interfaz de usuario.
¿Cómo configurar una interfaz de usuario con código?
Configurar elementos de la interfaz mediante código puede dar flexibilidad y precisión al diseño. Por ejemplo, redondear un botón en "WelcomeViewController":
- Crear el método
setupUI: Este método debe incluir konfiguraciones específicas de la UI. - Integrar el método en
viewDidLoad: Siempre llama al métodosetupUIdentro deviewDidLoad. - Agregar un IBOutlet para el botón: Declara el outlet y conéctalo al elemento visual.
- Redondear el botón: En
setupUI, usalayer.cornerRadius = 25para redondear el botón.
@IBOutlet weak var loginButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
setupUI()
}
func setupUI() {
loginButton.layer.cornerRadius = 25
}
Ahora repite este proceso para los controladores de LoginViewController y RegisterViewController, asegurándote de conectar adecuadamente cada outlet en el storyboard. Copiar y pegar el código inicialmente permitirá cierta rapidez, pero hay que prestar atención para ajustar nombres y conexiones.
¿Cómo validar campos de forma profesional?
La validación es crucial para garantizar la entrada de datos correcta y proporcionar una buena experiencia de usuario. Aquí se explica cómo puedes implementar validaciones usando el controlador de login como ejemplo:
- Conectar outlets de los campos: Agrega outlets para los campos de email y contraseña.
- Crear un IBAction para el botón de login: Esto se activa cuando el usuario presiona el botón.
- Agregar validaciones dentro de un método separado: Evita insertar lógica dentro de IBAction. En cambio, llama a un método que maneje la validación, ejemplo
performLogin.
@IBAction func loginButtonAction(_ sender: UIButton) {
performLogin()
}
private func performLogin() {
// Validar email
guard let email = emailTextField.text, !email.isEmpty else {
// Mostrar error
return
}
// Resto del código...
}
- Mostrar mensajes de error: Usa librerías de terceros como
NotificationBannerSwiftpara mostrar errores elegantemente al usuario.
import NotificationBannerSwift
private func showErrorBanner(_ message: String) {
let banner = NotificationBanner(title: "Error", subtitle: message, style: .warning)
banner.show()
}
Conectar adecuadamente las acciones y asegurar la correcta implementación de librerías te permitirá no solo mejorar la usabilidad sino también manejar errores de forma eficientemente visual para el usuario. ¡No olvides mantener tu código ordenado y documentado!
Desafío Adicional
Implementa una validación similar para la contraseña y asegúrate de notificar al usuario cuando ingrese credenciales correctas, quizás usando un banner verde de éxito. Las librerías y la correcta organización son tus aliados en esta tarea. ¡Buena suerte!