대부분의 iOS 앱은 UIKit(프레임워크)으로 만들어지고 일관된 형태를 유지하면서 높은 수준의 맞춤설정(customization)을 제공한다. UIKit은 iOS장치에서 멋지게 보일 단일 앱을 디자인할 수 있으며 시스템에서 모양이 변경되면 자동적으로 업데이트가 된다. 이러한 인터페이스 요소들은 UIKit에서 3가지 범주로 나누어진다. Bar 앱에서 어디에 있는지 알려주고 네비게이션을 제공 시작하거나 정보를 전달하는 버튼들 또는 기타 요소들을 가지고 있음 Views 사용자가 볼 수 있는 주요 컨텐츠(텍스트, 그래픽, 애니메이션, 상호작용요소)를 가지고 있음 뷰는 동작을 사용 할 수 있음(스크롤, 삽입, 삭제, 정렬) Controls 행동을 시작, 정보를 전달 버튼, 스위치, 텍스트필드, 프로그레스 iOS..
iOS Design Themes Clarity(명쾌함) 텍스트는 모든 기기에서 읽혀야함 아이콘은 정확해야하며 기능에 초점을 맞춰야한다 Deference(존중) 실제와 같은 동작은 헷갈리지 않는 상호작용을 도와줌 일반적으로 컨텐츠는 전체화면, 때때로 반투명과 흐름을 이용해 더 많은 것을 암시 할 수 있음 컨텐츠를 우선시 하기 위해 베젤, 그라디언트, 그림자의 사용은 최소화하고 인터페이스를 밝게 유지 Depth(깊이) 시각적 레이어와 동작은 계층(깊이)를 알기 쉽게 전달하고 이해를 도움 기능 및 추가 컨텐츠에 대한 엑세스를 가능하게 함 Design Principles Aesthetic Integrity(심미적인 무결성) 앱의 모양과 동작이 기능과 얼마나 잘맞는지 나타냄 집중력을 요구하는 앱은 눈에 거슬리지 ..
부스트코스를 수강하면서 배운 내용과 추가로 알고 싶은 내용을 정리하기로 했다 이번에 정리한 부분은 MVC에 대한 내용이다 내용을 정리하는데 많은 시간을 소요하지 않기 위해 몇몇 부분만 정리 하기로 했다 모델 객체 (Model Objects) 데이터를 캡슐화, 해당 데이터를 조작하고 처리하는 로직과 계산 정의 사용자가 편집할 수 있는 뷰객체에 명시적으로 연결되어 있으면 안됨 즉, 사용자 인터페이스나 표시 문제와 관련이 있어서는 안됨 예) 주소록의 연락처 잘 설계된 모델 클래스 Core Data technology를 사용하는 경우 NSManagerdObject 서브 클래스를 많이 사용 Objective-C 언어를 사용하는 경우 NSObject의 서브클래스 (스위프트를 사용하면 특별한 경우 아니면 사용X) 값..
부스트코스를 수강하면서 배운 내용과 추가로 알고 싶은 내용을 정리하기로 했다 이번에 정리한 부분은 디자인패턴에 대한 내용이다 디자인패턴 GoF : "특정한 상황에서 일반적 설계문제를 해결하기 위해 상호교류하는 수정 가능한 객체와 클래스에 대한 설명" 라만(C. Larman) : "숙력된 객체지향 개발자 및 기타 소프트웨어 개발자는 소프트웨어 개발의 가이드라인이 되는 일반적인 원칙들과 관용적인 해결책들의 레퍼토리(repertorire)를 구축한다. 패턴은 이러한 원칙들과 관용적 해결책들이 문제와 해결책을 기술하는 구조적인 형태로 쳬계화되고 명명된 것이다." 소프트웨어를 설계할 때 특정 상황에서 자주 사용하는 패턴을 정형화한 것, 좋은 소프트웨어 설계를 위한 개발자들의 경험적 산물 디자인 패턴의 분류 목적 ..

부스트코스를 수강하면서 배운 내용과 추가로 알고 싶은 내용을 정리하기로 했다 오늘 정리한 부분은 UIKit에서 사용할 뷰와 관련한 내용이다 뷰 계층(View hierarchy) 뷰 계층구조와 서브뷰 관리 뷰는 자신의 콘텐츠를 보여주고, 다른 뷰를 위한 컨테이너의 역할을 함 뷰가 다른 뷰를 포함할때 자식뷰를 서브뷰(subview) 부모뷰를 슈퍼뷰(superview)라고 함 서뷰뷰가 불투명하면 서브뷰는 슈퍼뷰를 가림 서브뷰가 반투명하면 슈퍼뷰의 색상과 서브뷰의 색상이 섞여 보임 서브뷰가 여러개이고 겹치게 되면 늦게 추가된 서브뷰가 위로 올라옴 여러 서브뷰가 겹치고 반투명 하다면 색상은 전부 섞여 보임 ETC : Creating and Managing a View Hierarchy 뷰 계층의 생성과 관리 뷰는..

부스트코스(https://www.boostcourse.org/mo326) 를 수강하면서 배운 내용과 추가로 알고 싶은 내용을 정리하기로 했다. 오늘 정리한 부분은 음원 재생기 애플리케이션/오토 레이아웃/오토 레이아웃이란?과 음원 재생기 애플리케이션/오토 레이아웃/오토 레이아웃 구현하기(코드)를 수강하고 작성한 글이다 오토레이아웃은 앱을 만들때 정말로 중요하다고 생각한다 오토레이아웃 오토레이아웃( Auto Layout ) : 뷰의 제약 사항을 바탕으로 뷰 체계 내의 모든 뷰의 크기와 위치를 동적으로 계산 오토레이아웃의 필요성 : 인터페이스의 절대적인 좌표가 아닌 동적으로 상대적인 좌표가 필요한 경우에 유용 외부변경(External Changes) 슈퍼뷰의 크기나 모양이 변경될때 발생 사용자가 아이패드의 분..

졸업작품을 진행하면서 파이어베이스의 스토리지를 사용하기로 해서 좀 더 사용법을 익히기로 하였다 사용법을 익히기 위해 토이프로젝트를 하나 진행하려고 한다 프로젝트의 내용은 스토리지에 이미지를 20장 정도 넣어두고 커스텀테이블뷰, 스토리지, NSCache, UserDefault 와 비동기 처리를 사용해 볼것이다 순서는 스토리지 -> 커스텀테이블뷰 -> NSCache -> UserDefault -> 비동기처리 가 되지않을까 싶다 pod 'Firebase/Storage' pod파일에 위의 Storage를 추가해준다 그런다음엔 AppDelegate에 아래의 configure()를 작성 물론 앞으로 작성할 소스파일에는 Firebase 헤더가 전부 들어간다 func application(_ application: U..
처음에 배울때부터 코드로 배우기도 했고 오래된(?) 맥북이다 보니 스토리보드를 쓰는게 불편해서 코드로만 작업을 해왔다 그러다 보니 필요한 코드를 평소 메모장에 적어두었는데 그것 보단 블로그에 올려두는게 좋을거 같아 올려두기로 했다 func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene = (scene as? UIWindowScene) else { return } self.window = UIWindow(frame: UIScreen.main.bounds) self.window?.windowScene = ..
- Total
- Today
- Yesterday
- Firebase
- HumanInterfaceGuidelines
- HIG
- 디자인패턴
- 부스트코스
- UIView
- DP
- Human Interface Guideline
- 백준
- 알고리즘
- Swift
- 온라인저지
- ios
- 분할정복
- 싱글톤
- apple
- Human Interface Guidelines
- MVC
- storage
- 오토레이아웃
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |