오늘은 아이폰 개발하는 방법에 대해서 설명해 드릴려고 한다.
아이폰 개발에 벽은 상당히 낮아진 것 같다. 예전에는 언어 자체가 희귀해서 자료도 없고 검색도 안되서 어려웠지만 이제는 누구나 할 수 있는 언어인 swift가 나와서 상당히 벽이 낮아진 것 같다. 그래서 나도 한번 해보자. 라는 생각으로 전에 사났던 동강을꺼내서 공부해 보기로 했다. 물론 동강은 앨런님에 강의를 듣는데 평생인줄 알았더니 기일이 있는거라 얼릉 보고 자료도 따운받아나야 겠다라는 생각이들었다.
치사빵꾸다 계속 무료로 해주지 ㅠㅠ
일단 각설하고 이제 초기 프로젝트를 만들면 속성들을 조금 건들어 주는게 좋다.
아래와 같이 최서버전은 13으로 그리고 가로세로 전환이 안되게 막아 두는게 좋다고 하여 일단 따라해서 셋팅해 보았다.
처음 언어나 툴을 할때는 기본사항으로 해놓고 가는게 가장 좋기 때문에 커스터마이징을 지양 하는게 좋다.
내가 견해로 괜히 건들었다가 나중에 못따라 수가 있기 때문이다.
뭐 그림 보면 알겠지만 button을 클릭하면 라벨에 내용이 바뀌는 것이였는데,
flag를 넣어서 toggle 식으로 만들어 봤다. 응용력 하고는 ㅋㅋ
outlet : 라벨을 연결하는 속성
action : 버튼을 연결하는 함수
가끔 outlet을 두개 만들어서 source상에서만 지우는 경우가 있다고 하는데 절대!!! 안된다고 한다. 그럼 에러 난다고 해요
그래서 UI단에 라벨이나 버튼 오브젝트를 선택하고 오른쪽 마우스 클릭 후 변수와 연결된 부분을 삭제하고 소스 내용을 삭제해야 한다니 그점을 유의하기 바란다.
단축키 정리
cmd + shift + y : 디버깅 창
cmd + shift + L : 라이브러리 창
control + option + cmd + enter : 어시스트 창 숨김/보이기
소스 코드 정리
//
// ViewController.swift
// MyFirstApp
//
// Created by yongyeon kim on 2023/07/25.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var mainLabel: UILabel!
var btnFlag:Bool = false
// 버튼은 속성으로 사용가능
@IBOutlet weak var myButton: UIButton!
// 초기진입때 로드되는 함수
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
// 버튼은 액션으로 줄수도 있다.
@IBAction func buttonPressd(_ sender: UIButton) {
if !btnFlag {
mainLabel.text = "안녕하세요"
mainLabel.backgroundColor = UIColor.yellow
mainLabel.textColor = UIColor.red
mainLabel.backgroundColor = #colorLiteral(red: 0.5843137503, green: 0.8235294223, blue: 0.4196078479, alpha: 1)
mainLabel.textAlignment = NSTextAlignment.left
} else {
mainLabel.text = "반갑습니다."
mainLabel.backgroundColor = UIColor.yellow
mainLabel.textColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
mainLabel.backgroundColor = #colorLiteral(red: 0.9372549057, green: 0.3490196168, blue: 0.1921568662, alpha: 1)
mainLabel.textAlignment = NSTextAlignment.right
}
myButton.backgroundColor = UIColor.yellow
myButton.setTitleColor(UIColor.blue, for: UIControl.State.normal)
btnFlag = !btnFlag
}
}
아직까지 따라갈만 하다. 하지만 생각보다 쉬운건 없다.
이제 점점 어려워 질 것이다.
내가 알기론 개발보다 오토레이아웃이나 UI단 제어가 어려웠던걸로 기억한다.
UIKit로 개발하는 방법이지만 요즘에는 SwiftUI를 이용해서 개발을 많이 한다고 한다.
이부분도 나중에 시간나면 공부해 볼려고 한다.
생각보다 버튼을 제어해서 라벨을 바꾸는 작업은 쉬운 작업이지만 아이폰은 자고로 이쁜 디자인에 좀더 손이 많이 가기 때문에
그런 부분을 강의로 뽑아내는 강사에게 높은 점수를 주고 싶다.
원리와 개론보다는 자고로 디자인과 폰트 그리고 위치 배치 다양한 UX를 응용해서 붙이고 활용하는 것에 대해서 좀더 집중해서 알려주면 실무에서도 많이 사용할 수 있을 것 같고, 도움도 많이 될 것 같다.
최근 회사에서는 아이폰/안드로이드 개발은 주로 WebView를 언져서 디바이스 제어를 위한 브릿지 프로토콜 작업과 퍼미션 관리 등을 많이 했던걸로 기억하는데 나는 당연히 모바일 개발자가 아니여서 깊숙히는 모르지만 소스를 내려봐서 본적은 있어서 관심이 생기기 시작했다.
자고로 내 업무와 연관된 기술이나 업무도 공부를 해두면 협상의 주도권을 나로 가져올 수 있어서 반드시 공부해 두는게 좋다고 본다.
즉, 백앤드 개발자는 DB나 프론트, 디자인, 퍼블리싱을 제대로 공부해 되면 지피지기 백전백승 되지 않나 싶다.
여자 꼬시는 방법 (1) | 2024.12.28 |
---|---|
숲방갤: 자연과 기술이 만나는 공간 (0) | 2024.09.05 |
노래 - "빈칸" (0) | 2024.09.02 |
노래 - "따분한 일요일" (2) | 2024.09.01 |
Springboot3 + Security 로그인 성공 시키기 (0) | 2023.07.22 |
SpringBoot 3.0^ + JPA + QueryDSL 5.0^ + Security 설정 (0) | 2023.07.22 |
PPT 표지 디자인의 기술 마스터하기: 청중의 관심을 끌고 감동을 주고 사로잡으십시오 (0) | 2023.05.13 |
샤오미 공기청정기: 기술과 건강한 삶의 격차 해소 (0) | 2023.05.09 |
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |