
오늘은 horizontal scrollView 2번째 입니다!지난 번에 굳이 이미지뷰를 3개 만들어 번거로웠더랬져?오늘은 배열에서 불러오도록 해볼게요. 일단 기본 레이아웃은 숨겨둘게요.더보기1. horizontal 방향이니까 contentView의 edges는 scrollView의 contentLayoutGuide에, height는 frameLayoutGuide에 맞출 것2. 사진을 3장 넣을 거라서 width의 UIScreen의 width의 3배3. scrollView의 view와 똑같이 맞춰도 되지만, 인스타 느낌처럼 조금 작게 해봄import UIKitimport SnapKitclass SecondHorizontalViewController: UIViewController { let scrol..

vertical scrollView에 이어 horizontal scrollView도 만들어볼게욧! 오늘도 뭉치 모델이 고생해주었습니당. 지난 번에 만들어놓은 vertical 버튼과 horizontal 버튼 중 horizontal 버튼을 누르면 나오도록 해볼게욧 버튼 있는 뷰컨의 코드는 숨겨놓슴돠 더보기 import UIKit import SnapKit class ViewController : UIViewController { let verticalButton = UIButton() let horizontalButton = UIButton() override func viewDidLoad() { super.viewDidLoad() setUI() setDetail() } @objc func verticalB..

Vertical ScrollView는 지난 번에 만들어 보았는데요. 이번에는 야매(?) 세로 스크롤뷰(vertical scrollview)를 만들어보려구요. 보통 세로 스크롤뷰는 뷰보다 큰 내용을 담을 때 사용하잖아여? 근데 가끔은 내용이 많지 않을 때도 스크롤뷰가 필요할 경우가 있습니다. (또는 요구당할 경우) 예를 들어서 아래와 같이 말이져! (지난 번 스크롤뷰 재활용 ㅋㅋㅋㅋ 하단에 버튼을 누르면 연결되게 해놨어요 ㅎㅎ) 스크롤이 없는 것보다는 있는 게 훨씬 유저에게 친숙하기도 하고, 완성된 느낌을 주는 것 같긴 합니당. 그래서 버튼 재활용을 통해 저 화면을 만들어볼게욧! 엄청 간단하답니다! 일단 기본 코드는 숨겨둘게요! 지난 번 코드에 버튼에 액션만 주었답니당! 더보기 import UIKit im..

일하는 중에 스크롤뷰에 이미지뷰를 담아서 스와이프로 넘기는 작업을 했어야 했는데요. (인스타그램처럼) 스크롤뷰 간단하게 생각했는데? 너? 그래서 정리해보는 세로 스크롤뷰(vertical scrollview), 가로 스크롤뷰(horizontal scrollview) 게시글이 되겠습니다요. 일단 간단하게 ViewController에 NavigationController를 embed하고, ViewController에 버튼 두개를 만드는 것으로 시작할게요. (귀찮아서 그냥 스토리보드 남기고 작업했어요 헤헿) (레이아웃은 스냅킷을 사용했어영) 더보기 import UIKit import SnapKit class ViewController : UIViewController { let verticalButton = U..

SwiftLint란? 표준이라고 할 수 있는 코딩 스타일 등을 모아놓은 가이드라인에 따라 코드를 작성할 수 있게 도와주는 도구 스위프트 스타일 및 컨벤션을 강제함으로써 코드에 통일성을 줄 수 있기 때문에 협업에 자주 사용됨 설치 방법 (brew 이용) 1. brew를 통한 설치 : 커맨드라인에서 작업 brew install swiftlint 2. SwiftLint를 설치하고자 하는 프로젝트 열기 (1) 해당 프로젝트를 누르고(2) Target에서 해당 프로젝트를 누르고(3) Build Phases 항목에서(4) + 버튼을 눌러줌(5) New Run Script Phase 3. shell 부분을 수정해주기 export PATH="$PATH:/opt/homebrew/bin" if which swiftlint..

오늘도 강의를 통해 배운 강의 속 지식! struct vs. class 다른 강의를 들을 때, 왠만하면 struct를 쓰라는 이야기를 들었었는데! 오늘 강의를 들으니, 훨씬 이해가 잘 갔다랄까요? 그래서 정리해봅니다!! 1. struct vs. class 복사 2. struct vs. class 인스턴스 상수/변수 시작해!! 1. struct vs. class 복사 우선 아래 두 개의 구조체와 클래스를 만들어줄게용! struct StructHero { var name: String var universe: String } class ClassHero { var name: String var universe: String init(name: String, universe: String) { self.nam..

오늘은 접근제어에 대해 공부해볼게요! 접근제어는 말 그대로 접근을 제어하는 건데요 ㅎㅎ 타입, 변수/상수, 메서드 등에 접근할 수 있게/없게 제한하는 키워드입니당. 5가지의 제어 수준이 있는데요. 1. private 단어에서도 느껴지시져? 가장 접근하기가 어려운(?) 수준입니당. 같은 스코프({ }) 내에서만 접근이 가능하쥬 2. fileprivate private보다는 발전된 수준의 접근 가능 단계입니당. 같은 file 내에서는 접근이 가능해서 file이라고 붙인 것 같아요. 3. internal (default) 우리가 지금까지 접근제어를 신경쓰지 않았지만, 사실은 기본값이 internal이었어요. 따로 명시를 하지 않으면 항상 internal 수준을 갖는거져. internal은 같은 모듈 내에서 접..

Tuple. 분명히 2번이나 배운 개념인데, 3번째 배울때도 또 새롭지 모에여? 이젠 안되겠다 싶어서 정리해봅니다. 1. 튜플의 생김새 2. 튜플의 요소에 접근하기 3. 튜플 요소의 값 바꾸기 4. Named-Tuple 5. 튜플 분해하기 6. 튜플의 활용 1. 튜플의 생김새 Tuple은 아주 신기한 놈이라고 할 수 있겠어요. 여러 타입의 값들은 한 곳에 저장할 수가 있거든요. 어떻게 생겼는지 볼까요? let model = ("iphone", 13, "GB", 15.3) String, Int, Double을 전부 model이라는 상수에 담을수가 있어요. 그럼 model은 어떤 타입일까요? 아주 신기한 타입이져? 2. 튜플의 요소에 접근하기 그럼 각 요소들에는 어떻게 접근할 수 있을까요? model을 쓰고..
- Total
- Today
- Yesterday