Hola, Apple

1

Hablemos de iOS

2

Conozcamos XCode

3

¿Necesito un iPhone para ser iOS Developer?

Tu primera app en iOS

4

¡Hola, Mundo Apple!

5

Navegación con UINavigationController

6

Modales en la navegación

7

Utilizando controles en código

8

Autolayout vs SwiftUI

9

Autolayout

10

Listas con UITableView

11

Celdas personalizadas para nuestras listas.

12

Persistencia: UserDefaults

Manejo de dependencias

13

CocoaPods

14

Carthage

Servicios Web

15

Primeros pasos para consumir servicios

16

Afinando detalles para consumir servicios

17

Convirtiendo los JSON a modelos

18

Alamofire

Proyecto: PlatziTweets

19

Bienvenido a PlatziTweets

20

Configurando Proyecto

21

Diseñando vistas iniciales

22

Configuración de vistas iniciales

23

Configuración de registro

24

Descripción de la API de PlatziTweets

25

Conexión de la API y Autenticación

26

Registro de usuarios

27

Diseño del Tweet

28

Obteniendo Tweets

29

Creación de vista para publicar Tweets

30

Publicando Tweets

31

Borrando Tweets

32

Integración de la cámara

33

Conexión con Firebase

34

Configuración de XCode para correr app

35

Subir imagen a Firebase

36

Publicar Tweet con imagen

37

Tomando Videos para el Tweet

38

Publicar Tweet con video

39

Detalles del video

40

Accediendo al GPS

41

Implementando mapas con MapsKit

42

Mostrando todos los estudiantes en el mapa

43

Retos del proyecto

En producción

44

Enviar a pruebas con Firebase Distribution

45

Enviar tu aplicación a APP Store Connect

46

Distribución de tu app con TestFlight

iOS Avanzado

47

Dark Mode

48

SwiftUI

49

Terminando detalles de una vista con SwiftUI

50

Objective-C

Hola, iOS Developer

51

Felicidades

52

Expert Session: ¡nuevo espacio para resolver tus dudas sobre el desarrollo de Apps para iOS!

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Aprende Inglés, Desarrollo Web, AI, Ciberseguridad y mucho más.

Antes: $249

Currency
$209
Comienza ahora

Termina en:

0 Días
17 Hrs
9 Min
37 Seg

Configuración de vistas iniciales

22/52
Recursos

Aportes 13

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Hola!
Mi proyecto no me reconocía el cornerRadius. Era debido a un tema de versiones de iOS.

Lo solucioné de esta manera:

loginButtons.clipsToBounds = true
loginButtons.layer.cornerRadius = 25.0
if #available(iOS 13.0, *) {
loginButtons.layer.cornerCurve = .continuous
}

También podemos redondear los botones asignadole un Key Path

Los temas de IOS son muy bonitos y organizados 😄

Si les aparece el siguiente error:

Xcode 12: Compiling for iOS 13.0, but module 'NotificationBannerSwift' has a minimum deployment target of iOS 12.0

Agreguen lo siguiente al final de su Podfile:

deployment_target = '12.0'

post_install do |installer|
    installer.generated_projects.each do |project|
        project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = deployment_target
            end
        end
        project.build_configurations.each do |bc|
            bc.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = deployment_target
        end
    end
end

Y cambien el target a iOS 12.0, y vuelvan a compilar con command + B

private func performLogin() {
        guard let email = emailTextField.text, !email.isEmpty else{
            NotificationBanner(title: "Error", subtitle: "Debes especificar un correo.", style: .warning).show()
                
            return
        }
        
        guard let password = passwordTextField.text, !password.isEmpty else{
            NotificationBanner(title: "Error", subtitle: "Debes ingresar una contraseña.", style: .warning).show()
            
            return
        }
        
        if !email.isEmpty && !password.isEmpty{
            NotificationBanner(title: "Success", subtitle: "Has ingresado los datos correctamente", style: .success).show()
        }
    }

Reto cumplido, e incluso agregue un banner en caso de que el usuario si introdujo los dos campos correspondientes…

import UIKit
import NotificationBannerSwift

class LoginViewController: UIViewController
{
    
    // MARK: - IBOutlets
    
    @IBOutlet weak var loginButton : UIButton!
    @IBOutlet weak var emailTextField: UITextField!
    @IBOutlet weak var passwordTextField: UITextField!
    
    // MARK: - IBActions
    @IBAction func loginButtonAction()
    {
        performLogin()
    }
    
    // MARK: - Functions

    override func viewDidLoad()
    {
        super.viewDidLoad()

        setupUI()
    }
    

    // MARK: - PRIVATE METHODS
    
    private func setupUI()
    {
        loginButton.layer.cornerRadius = 25
        //Esto se puede hacer con un KeyPath...
    }
    
    private func performLogin()
    {
        guard let email = emailTextField.text,
              !email.isEmpty else
        {
            
            NotificationBanner(title: "¡Hey!", subtitle: "Debes especificar un correo", style: .warning).show()
            
            return
        }
        
        guard let password = passwordTextField.text,
              !password.isEmpty else
        {
            NotificationBanner(title: "¡Hey!", subtitle: "Debes especificar una contraseña", style: .warning).show()
            
            return
        }
        
        guard let email = emailTextField.text,
              let password = passwordTextField.text,
              email.isEmpty,
              password.isEmpty else
        {
            NotificationBanner(title: "OK", subtitle: "Has introducido todas tus credenciales correspondientes", style: BannerStyle.info).show()
            
            return
        }
        
    }
  
}

Muy buena clase para entender mejor el manejo de la UI de iOS

Reto muy fácil de lograr vamos a por más!!! 😎

No lograba redondear los botones por código así que investigando las características del botón, hay una propiedad que se llama CornerStyle, lo dejas como capsule y listo!

No soy muy fan de tener que hacer cambios de UI fuera del storyboard, por el tema de que con el tiempo podrian existir tantos cambios de UI en el codigo que mover algo en un storyboard sea peligroso.

Me gustó mucho la librería NotificationBannerSwift