본문 바로가기

swift/snapkit

snapkit(7) 테이블 동적높이 기본 테이블 이미지 | 제목 | 내용 1.테이블 뷰를 생성한다.테이블뷰의 estimatedRowHeight는 예상되는 높이(나중에 동적으로 변경되기때문에 어림잡아 세팅하면 됨) 테이블뷰의 rowHeight는 반드시 UITableViewAutomaticDimension로 설정해야된다. import UIKit class TableView1Controller: UIViewController { var didSetupConstraints = false let cellName = "tableview1cell" let tableView: UITableView = { let tableView = UITableView() return tableView }() let dummyList: [TableVie.. 더보기
snapkit(6) 이번에는 가장 많이 사용되는 tableview를 사용해보자 사실 tableview를 만들다기 보단 tableviewcell를 동적으로 만드는게 주 목적이다. 기본 테이블 이미지 | 제목 | disclosureindicator 1.테이블 뷰를 생성한다. import UIKit class TableView2Controller: UIViewController { var didSetupConstraints = false let cellName = "tableview2cell" let tableView: UITableView = { let tableView = UITableView() return tableView }() let dummyList: [TableView2Model] = [ TableView2Mode.. 더보기
snapkit(5) 1.하단에 요새 많이 구매하기 버튼을 넣는 식으로 바디와 푸터를 구분해보자. view 구조는 view - body - footer body는 top,left,right는 view와 맞닿아 있고 footer의 top과 맞닿아 있다.footer는 bottom,left,right는 view와 맞닿아 있고 body의 bottom과 맞닿아 있다. 그리고 footer는 높이를 주지 않게되면 화면에 나타 나지 않게된다. class View3Controller: UIViewController { var didSetupConstraints = false let footerView: UIView = { let view = UIView() view.backgroundColor = UIColor.red return view .. 더보기
snapkit(4) 1.뷰를 4등분해서 보여준다. 목표red | blueblack |green red는 top과 left에 맞닿아 있고 가로,세로는 전체의 50% blue는 top과 right에 맞닿아 있고 가로,세로는 전체의 50% black는 bottom과 left에 맞닿아 있고 가로,세로는 전체의 50% green는 bottom과 right에 맞닿아 있고 가로,세로는 전체의 50% 이것을 snapkit으로 구현하면 아래와 같다. import Foundation import Foundation import UIKit class View2Controller: UIViewController { var didSetupConstraints = false let redView: UIView = { let view = UIView.. 더보기
snapkit(3) 본격적으로 snapkit으로 하나씩 만들어 본다. 1.가운데 빨간색 네모 박스를 하나 만든다.lazy property를 이용해서 view를 하나 생성해둔다. class View1Controller: UIViewController { var didSetupConstraints = false let redView: UIView = { let view = UIView() view.backgroundColor = UIColor.red return view }() override func viewDidLoad() { super.viewDidLoad() self.initUI() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() }.. 더보기
snapkit(2) 메인 컨트롤러에 기본 메뉴를 설정한다. 기본적인 view 구성도view->tableview 1.먼저 tableview의 snapkit 만들기view의 tableview를 추가하고 tableview의 snapkit 정해주기tableview의 top,bottom,left,right를 view에 맞춰준다. import UIKit //snapkit extension MainController { func initUI() { self.view.addSubview(self.tableView) view.setNeedsUpdateConstraints() } override func updateViewConstraints() { if (!didSetupConstraints) { tableView.snp.makeConst.. 더보기
snapkit(1) storyboard와 nib를 사용하지 않고 앱을 만들기 위해서 메인 컨트롤러를 먼저 만든다. AppDelegate.swift 파일을 아래와 같이 수정한다. makeMain 메소드를 확인 하면 어떻게 생성되는지 확인가능하다. import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? var mainNavigationController: UINavigationController? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLa.. 더보기