swift 43

[TableView] Storyboard + Code 로 설정 (Delegate Pattern)

TableView(테이블뷰)는 델리게이트 패턴으로 구성하여 설계할 수 있다. Delegate Pattern(델리게이트 패턴)을 사용하여 TableView를 컨트롤 할 수 있다.UITableViewDataSource 프로토콜을 추가하여 프로토콜에 필수 메소드로 셀에 대한 설정UITableViewDelegate 프로토콜을 추가하여 셀을 클릭했을 때 메소드를 추가할 수 있다.import UIKitclass ViewController: UIViewController { @IBOutlet weak var tableView: UITableView! override func viewDidLoad() { super.viewDidLoad() // Do any additional..

UIKit 2024.08.05

[TabBar] Code로 구현

코드를 구현하기 위해서는 네비게이션과 마찬가지로 기본 ViewController 보다 아래에 탭바 컨트롤러를 깔아야 하기 때문에 Scene Delegate 파일에 코드가 필요하다.   기존의 뷰 컨트롤러에 더해 탭바를 위한 새로운 뷰 컨트롤러를 두개 더 만든다. import UIKitclass ViewController: UIViewController { private lazy var myLabel: UILabel = { let label = UILabel() label.text = "FirstViewController" label.font = UIFont.systemFont(ofSize: 18) label.textAlignment = .ce..

UIKit 2024.08.02

[Navigation Controller] Code로 세팅

[Navigation Controller] Storyboard 설정Navigation 컨트롤러를 추가하여 상단 네비게이션 바 설정    뷰 컨트롤러에서 오른쪽 하단의 Navigation Controller 를 클릭  추가된 뒤, 잘 보면 Navigation Item 이라는 객체가 이미 위에 생겨있다.클릭usiacode.tistory.com  스토리보드와의 설정과는 다르게, 네비게이션 컨트롤러를 뷰 컨트롤러 이 전에 깔아야 하기 때문에, Scene Delegate 파일에서 코드를 입력해야 한다  Scene Delegate 에서 scene(scene:session:connectionOptions:) 에 아래 코드를 추가한다.func scene(_ scene: UIScene, willConnectTo sess..

UIKit 2024.08.01

[Navigation Controller] Storyboard로 세팅

Navigation 컨트롤러를 추가하여 상단 네비게이션 바 설정    뷰 컨트롤러에서 오른쪽 하단의 Navigation Controller 를 클릭  추가된 뒤, 잘 보면 Navigation Item 이라는 객체가 이미 위에 생겨있다.클릭한 뒤, 오른쪽 인스펙터에서 title 을 입력하면   상단에 네비게이션 바가 생긴다  또 Bar Button Item 을 추가하면   보통 설정을 만질 때 많이 사용하는 오른쪽 상단의 버튼이 생기게 된다.   화면 전환을 위한 뷰 컨트롤러 생성   클래스도 연결   Bar Button Item 은 실제 버튼처럼 사용이 가능하다.   이렇게 Segue 를 이용하여 present 화면을 만들 수도 있고,   IBAction을 통해 화면 전환을 할 수도 있다. + 결과는 3..

UIKit 2024.08.01

[Navigation] Only Code (pushViewController()로 화면 전환)

코드로만 화면 전환을 하기 위해서는 Scene Delegate 파일에서 네비게이션 컨트롤러를 뷰 컨트롤러 밑에 깔아야 한다.  Scene Delegate 파일에서 scene(scene:session:connectionOptions:) 함수에 아래의 코드를 추가한다.func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. // If..

UIKit 2024.08.01

[Navigation] Storyboard + Code2 (pushViewController()로 화면 전환)

Navigation 을 코드로 객체생성하여 push()로 화면 전환  [Navigation] Storyboard + Code (pushViewController()로 화면 전환)Navigation 을 스토리보드로 객체생성하여 push()로 화면 전환 // 객체 생성guard let secondViewController = storyboard?.instantiateViewController(withIdentifier: "SecondVC") as? SecondVIewController else { return }//secondViewController.usiacode.tistory.com위 방법과 거의 동일하지만, 객체를 생성하는 방법이 차이가 있다. 위 방법은 스토리보드의 아이디를 통해 뷰 컨트롤러 객체를..

UIKit 2024.08.01

[Navigation] Storyboard + Code1 (pushViewController()로 화면 전환)

Navigation 을 스토리보드로 객체생성하여 push()로 화면 전환  [Navigation] Storyboard + Code2 (pushViewController()로 화면 전환)Navigation 을 코드로 객체생성하여 push()로 화면 전환  [Navigation] Storyboard + Code (pushViewController()로 화면 전환)Navigation 을 스토리보드로 객체생성하여 push()로 화면 전환 // 객체 생성guard let secondViewCusiacode.tistory.com // 객체 생성 guard let secondViewController = storyboard?.instantiateViewController(withIdentifier: "SecondVC..

UIKit 2024.07.31

[Navigation] Storyboard + Code (Manual Segue-performSegue()으로 화면 전환)

Navigation의 show를 스토리보드와 코드로 전환 (간접 세그웨이, Manual Segue 사용) [화면 전환] Segue - 간접 세그웨이 (Storyboard + Code)간접 세그웨이는 직접 세그웨이와 다르게 객체로 직접적으로 연결하는 것이 아닌 뷰 컨트롤러로 연결한다. 뷰컨트롤러를 통해 세그웨이로 화면 전환// Identifier로 어떤 세그웨이인지 판별 후 해usiacode.tistory.comperformSegue(withIdentifier: "ToSecondVCSegue", sender: nil) //세그웨이 식별자// 여기에서 sender로 전달하면 prepare의 sender로 데이터가 전달됨// 세그웨이를 통해 화면전달을 할 때, 데이터 전달을 하는 방법, perform() 에서..

UIKit 2024.07.31

[Navigation] Only Storyboard(Segue로 화면 전환)

NavigationViewController를 활용하여 show 방식으로 화면 전환하기 present 방식이 아래에서 위로 화면이 올라오는 반면, show 방식은 옆으로 넘어가는 Navigation 방식이다.  화면 전환을 위한 버튼 추가   오른쪽 아래에 맨 오른쪽을 클릭하여 'Navigation Controller'를 클릭   아래에 Navigation Controller 가 깔리면 이제 show를 통해 화면 전환을 할 수 있다.   화면 전환을 위한 새로운 뷰 컨트롤러 추가  'Command + 드래그' or 우클릭 드래그하여 새로운 뷰 컨트롤러에 놔주고   Show 를 클릭하면   세그웨이로 완성!  - 시뮬레이터 화면

UIKit 2024.07.31

AutoLayout - Code

코드를 통한 오토레이아웃 설정 오토레이아웃(AutoLayout)이란 화면의 위치와 크기를 동적으로 정의하고 관리하는 방식제약조건(Constraints)을 통해 설정하여 뷰 안에서의 관계를 정의할 수 있다.뷰를 관점으로 잡았을 때, 상하좌우가 잡혀있는 것을 생각하며 제약조건을 자유롭게 추가해서 잡을 수 있다. AutoLayout - Storyboard스토리보드를 통해 오토레이아웃 설정 오토레이아웃(AutoLayout)이란 화면의 위치와 크기를 동적으로 정의하고 관리하는 방식제약조건(Constraints)을 통해 설정하여 뷰 안에서의 관계를 정의할 수usiacode.tistory.com  // 스토리보드의 자동레이아웃 설정 끄기객체.translatesAutoresizingMaskIntoConstraints ..

Xcode 2024.07.31