-
[iOS] 커스텀 폰트를 적용해보자iOS/🤖 App 2021. 11. 6. 02:10
안녕하세요 🐶 이번시간에는 프로젝트에 커스텀 폰트를 적용시켜보겠습니다 사실 이건 공식문서에 방법이 너무 잘나와있어요... 그런데 제 사례도 보여줄겸 + 복습해서 잘 기억해먹으려고 쓰는 글입니당 제가 진행중인 프로젝트는 Roboto 라는 폰트를 사용하고 있었는데 실제 적용시켜보니 피그마와 다르게 표시된 것이 문제였어요 지적된 문제점은: 1. 숫자 0에 빗금이 가있어서 별로다 (기계적으로 보인다?) 2. 공백의 너비가 너무 크다 그래서 아직 추가될 요소가 많긴 하지만 디자인적 완성도가 떨어져보였습니다. Attritbuted String 을 사용할 수 도 있었지만 모든 텍스트요소에 이것을 적용하는데 드는 비용보다 폰트를 그냥 변경하는게 빠르겠다고 생각했고, 그래서 Spoqa Han Sans Neo 로 변경하기..
-
[iOS] init(nibName:bundle:)과 init?(coder:) 알아보기iOS/🤖 App 2021. 10. 25. 14:21
안녕하세요🐶 이번 시간에는 UIViewController 의 두 생성자에 대해서 알아보겠습니다. 이 글을 통해 생성자가 언제 어떻게 사용되는지 알게되었으면 좋겠습니다! UIViewController 문서에서 제공하는 ViewController 를 생성할 수 있는 방법 init(nibName:bundle) 알아보기 첫번째 전달인자 nibName nib 은 xib 혹은 storyboard 파일의 빌드의 결과물입니다. xib 파일로 정의한 VC 는 그 이름을 그대로 가지고 nib 파일로 변환됩니다. 따라서 ViewController.xib 는 "ViewController.nib" 으로 변환됩니다. nibName은 ViewController 가 되겠네요! 스토리보드는 조금 다릅니다. xib 와 달리 스토리보드는..
-
[iOS] clipsToBounds 와 masksToBoundsiOS/🤖 App 2021. 10. 19. 23:45
안녕하세요🐶 이번 시간에는 clipsToBounds 와 masksToBounds 를 알아보려고 합니다. UIView 와 CALayer CALayer 란? iOS 에서 모든 UIView 인스턴스는 기본적으로 하나의 CALayer 인스턴스를 가지고 있습니다. CALayer 는 시각적인 역할을 담당하는 오브젝트입니다. ( 콘텐츠 캐싱, 애니메이션 성능 서포트 등) 뷰의 레이어 인스턴스는 layer 속성을 통해서 접근할 수 있습니다. 레이어는 시각적인 역할에 맞게 다양한 관련 속성을 제공하고, 커스텀할 수 있습니다. 예를 들어 뷰의 모서리, 그림자, 회전과 같은 애니메이션을 표현할 때 layer 의 하위 속성을 사용합니다. clipsToBounds 는 UIView 의 하위 속성 중 하나입니다. masksToBo..
-
[Swift] Any 와 AnyObjectiOS/🟠 Swift 2021. 10. 16. 10:49
1차 수정: 21.10.17 안녕하세요🐶 이번 시간에는 Any 와 AnyObject 를 정리해보았습니다. 구체적인 타입이 아닌 아무 타입 으로 작업하기 위해 스위프트가 제공하는 두 가지 특별한 타입 Any 타입 변수에 넣어주는 것이 타입 컨버전이 아닌 타입 캐스팅임에 유의하자. Any 와 AnyObject 타입은 생성자를 제공하지 않는다. 아래는 캐스팅의 특징 👇🏻👇🏻👇🏻👇🏻 Casting doesn’t actually modify the instance or change its values. The underlying instance remains the same; it’s simply treated and accessed as an instance of the type to which it has b..
-
[객체지향의 사실과 오해] 협력📕 도서/객체지향의 사실과 오해 2021. 10. 14. 12:59
http://www.yes24.com/Product/Goods/18249021?OzSrank=1 객체지향의 사실과 오해 - YES24 『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지향의 본질을 오해하고 있다. 가장 www.yes24.com 도서의 내용 순서와 상관없이 배운 내용을 요약 정리하고 있습니다. 개요 우리 모두를 합친 것보다 더 현명한 사람은 없다 - 켄 블랜차드 객체의 협력에 집중하라 (pg.106 ~ 109) 객체지향에서 협력이라는 문맥을 고려하지 않고 객체를 설계하는 것은 무의미하다. 협력이라는 문맥이 객체의 행동 방식을 결정한다. 중요한 것은 개별 객체가 아니라 객체들이 이뤄내는 협력이다. ..
-
[Apple Documentation] 매끄러운 앱 시작을 위한 런치 스크린 설계iOS/🍎 Documentation 2021. 10. 13. 13:54
안녕하세요🐶 오늘은 애플 개발자 문서 중 런치 스크린에 대한 관련하여 애플이 제공하는 제언에 대한 부분을 정리해 보았습니다. 소소하지만 디테일이 돋보이는 내용들이네요!!!! 런치스크린은 모든 디바이스에 대응해야 한다 이것은 간단하게 Xcode 에서 스토리보드로 런치스크린을 구현하면 해결됩니다. 그리고 기본적으로 Xcode 는 템플릿 프로젝트에서 LaunchScreen.storyboards 파일을 포함하고 있습니다. 이런게 알려줄 거리가 되나?? 라는 생각이 들었지만 2020년 7월 이전에는 단일 이미지 파일을 런치스크린으로 사용할 수 있었더라구요. Note: Don't use a static image for your launch screen. Static images have been deprecate..
-
[Xcode] Build input file cannot be found Info.plist 오류 해결법iOS/🛠 이슈와 궁금증 2021. 10. 4. 17:53
안녕하세요🐶 " Build input file cannot be found ~~/Info.plist" 프로젝트 파일 내부의 Info.plist 파일의 위치를 바꾸면 발생할 수 있는 에러입니다. 빌드 설정에서 미리 정의된 경로에 Info.plist 가 없으니깐 뜨는 것이므로 빌드 설정을 바꾸어 주면 해결됩니다. 미리 정의된 경로는 보통 프로젝트 소스 경로 바로 아래에 위치합니다 예: /Info.plist 각설하고 바로 해결해보자구요~~!!!!!! 1. 프로젝트 파일 선택 2. TARGETS 에서 원하는 타겟 선택 -> BuildSettings 진입 3. cmf + F 로 찾기 창 킨다음에 info.plist 검색 Info.plist File 경로를 변경된 경로로 설정해주면 됩니다. 저는 앱 번들 최상위에서..
-
[Swift] Metatype 이란?iOS/🟠 Swift 2021. 10. 2. 21:47
안녕하세요🐶 이번 시간에는 메타타입에 대해서 알아보려고 합니다. 그럼 시작해볼게요!!🔥 메타타입 : 타입의 타입 메타타입은 타입의 타입입니다. 이 타입에는 class, structure, enumeration, protocol 타입을 포함합니다. 아니 그러면 String 은 타입인데 그럼 메타타입은 String 의 타입이라는 건가요? 맞습니다. 그리고 String 의 타입은 String.Type 입니다!!! ㅋㅋㅋ 처음에는 이 개념을 이해하기 쉽지 않는데요. 메타타입은 타입 자체를 가리켜야할 경우 (refer to)가 있기 때문에 만들어졌습니다. 그리고 사실 우리는 지금까지 메타타입의 인스턴스인 [타입]을 잘 사용해오고 있었습니다. 그건 나중에 보도록하고 우선 제가 만든 그래프를 한번 보여드릴게요. 이해..
-
[Xcode] 앱 번들 찾기iOS/🛠 이슈와 궁금증 2021. 10. 2. 01:06
안녕하세요🐶 이번에는 Xcode 프로젝트의 빌드 결과물인 앱 번들을 찾아보도록 하겠습니다. 그럼 시작해볼게요🔥 앱 번들은 Xcode가 프로젝트 타겟을 빌드한 결과물입니다. 앱 번들은 보통 하나의 앱에 필요한 컴파일된 소스(executable) 과 리소스들 ,info.plist 등으로 구성되어 있습니다. 저는 xib, storyboard 가 컴파일 되어 어떤 형태가 되는지 궁금하여 앱 번들을 찾아보기로 하였습니다. 우선 Xcode -> Preferences -> Location -> Derived Data 로 이동하여 경로의 마지막에 있는 작은 화살표 버튼을 클릭하면 Finder가 Derived Data 폴더를 보여줍니다. 저는 'SSACFood' 라는 이름의 앱 번들을 찾아보려고 합니다. 이 폴더에서 B..