본문 바로가기

728x90

ComputerScience/ios App(Storyboard)

(18)
ios - 18 Animation with ViewProperties 1 Animation with ViewProperties - 앞서 layout의 constraint를 활용해서 animation을 간접적으로 구현했다면 이번에는 뷰의 속성을 이용해서 구현해보자. - 애니메이션이 적용 가능한 뷰의 속성은 크게 세가지 카테고리로 나뉜다. *Position & Size - bounds, frame, center - auto layout과 상당히 겹치는 부분이 있다. - view property를 활용해서 위치나 크기를 잡는 경우 animation이 view의 auto layout을 벗어나면 다시 layout을 잡아줄 수 있도록 해야 한다. *Transformation - rotation, scale, translation *Appearance - backgroundColor,..
ios - 17 Animation with contraints 1 Animation - 좀더 부드러운 모션과 사용자의 몰입도를 높이기 위해 view에 다양한 애니메이션을 넣어보자. - 이전에 만들었던 원피스 현상금 앱의 Detail View Controller의 레이블에 애니메이션을 넣을 것이다. - 각 레이블이 우측 화면 밖에서 화면의 중심축으로 날아오도록 애니메이션을 구현할 것이다. - 가장 먼저 레이블에 center horizontally constraint를 적용한다. - 적용한 constraint 클릭 -> control누른채로 오른쪽 코드 화면으로 드래그 - 두 레이블의 constraint에서 outlet을 연결하였다. - 작업을 마치기 전에 화면에 잘 나오도록 각 레이블과 이미지뷰에 constraints를 넣어서 마무리 하자. 2 코드작성 import ..
ios - 16 CollectionView 1 CollectionView - tableViewCell로 tableView를 구성하면 아래 그림 처럼 한 행을 cell로 하여 여러 항목들을 리스트로 나열할 수 있었다. - collectionView를 사용하면 아래 처럼 한 행에 여러 항목들을 표현할 수 있다. - collectionViewCell로 collectionView를 구성할 것이다. - 여러 형태의 레이아웃이 가능하기 때문에 tableView와는 다르게 layout을 관리하는 UICollectionViewLayout 객체가 존재한다. - customizing을 위해서는 위 요소들을 상속하여 다양한 형태로 변형하면 된다. - 원피스 현상금앱의 현상금 정보들을 tableView 말고 collectionView로 나타내보자 - 기존 tableV..
ios - 15 Design Pattern 1 Design Pattern - 후에 유지보수를 쉽게하기 위해 일반화한 개발 패턴을 말한다. - 코드의 중복을 줄이고 각 객체들이 단일 책임을 갖도록 하기 위한 방법론 모두가 디자인 패턴에 속한다. - 일반적으로 올바른 프로그램의 구조 혹은 올바른 개발을 위한 가이드, 전략으로 활용된다. - 재사용과 지속가능한 개발을 가능하게 하고 기술부채를 줄이는데 목적이 있다. - 이번 장에서는 모바일 개발에 있어서 많이 사용되는 디자인 패턴들을 공부할 것 이다. 2 MVC - Model - View - Controller - 이전에 앱 개발에 있어서 널리 활용되던 디자인 패턴이다. - 데이터와 UI를 controller가 중계하는 모델이다. - 데이터의 변화 혹은 UI의 변화를 항상 controller가 인지하고..
ios - 14 Segue 1 목표 - 이전 포스트에 이어서 작업을 진행해보자. - 이번에는 셀을 클릭하면 새로운 view controller 화면이 modal형식으로 나타나도록 해보자. 2 새로운 View Controller 추가 - 가장 먼저 할 것은 새로운 view controller를 추가하는 것이다. - 아래 내용이 담긴 새로운 swift파일을 만든다. import UIKit class DetailViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } } - storyboard에 새로운 View Controller object를 추가..
ios - 13 Custom Cell 1 Custom Cell - TableViewCell을 상속받아서 아래 그림처럼 나만의 셀을 정의해보자 - 이전 포스트에 이어서 작업을 진행한다. - 가장먼저 커스텀 셀 class를 정의한다. - UITableViewCell을 상속하며 한개의 이미지와 두개의 레이블을 갖는다. class ListCell: UITableViewCell { @IBOutlet weak var imgView: UIImageView! @IBOutlet weak var nameLabel: UILabel! @IBOutlet weak var bountyLabel: UILabel! } - 셀클릭 -> identity inspector -> custom class에 ListCell 연결 2 Cell 크기 조절 - 셀의 크기를 조정할 수 있..
ios - 12 Table View, Table View Cell 1 ViewController 만들고 Storyboard연결하기 - 나만의 커스텀 View Controller를 처음부터 만들어보겠다. - .swift파일을 만들고 UIViewController를 상속받아 커스텀 클래스를 하나 만든다. - Main.storyboard와 새로 만든 ViewController를 연결한다. 2 Table View - 앱에서 여러 아이템을 리스트로 보여주는데 사용한다. - 테이블 뷰 안에서 데이터는 cell로 표현된다. - 이번에는 Table View Cell을 넣어보자. 3 UITableViewDataSource (Protocol) - UITableViewDataSource를 상속해서 셀을 몇개를 보여줄 것인지? 테이블 뷰를 어떻게 보여줄지? 정의해보자. import UIKi..
ios - 11 swift 기본문법(Class) 1 class - struct 처럼 property와 method를 포함하고 있다. - struct와의 차이로 class는 heap영역에 생성되는 reference type이라고 했다. - 따라서 동일한 객체를 가리킬 때는 class가 유용하지만 값이 동일한 두 객체를 같다고 판단해야 하는 경우는 struct가 더 유리하다. - struct에서 class로의 변환은 쉬우니 일단 struct를 사용하고 필요에 따라 class로 전환하자. - swift의 String, Array, Dictionary모두 struct로 되어있다. struct PersonStruct { var firstName: String var lastName: String var fullName: String { return "\(fir..

728x90