분류 전체보기326 View뜯어보기 (1) View View & Window View란 앱의 사용자 인터페이스를 구성한다. View는 UIView의 인스턴스거나 UIView 하위 클래스의 인스턴스이다. 자신을 어떻게 그리는지 알고 있다. 터치와 같은 이벤트들을 처리할 수 있다. 뷰 계층 구조상에 존재한다. 뷰 계층 구조의 루트는 앱의 윈도우 이다. iOS 앱은 모든 View 들의 컨테이너 역할을 하는 UIWindow 인스턴스 를 가지는데 이는 AppDelegate에 정의되어 있으며(SceneDelegate를 사용하는 경우는 SceneDelegate에 정의) UIWindow 는 UIView 의 하위 클래스 이므로 Window 는 그 자체가 View라고 할 수 있다. 최초의 window는 스토리보드를 사용할 때는 자동으로 생성이 되지만 코드로 구현할.. 2022. 3. 15. View의 계층구조 View의 계층구조 1. view의 계층구조는 superView, subView, siblingView 로 구성 view의 계층구조는 superView, subView, siblingView 로 특정되며 이는 drawing순서를 결정짓는다. superView와 subView의 관계에서는 superView가 우선해서 그려진다. 동일한 superView 내부에 여러 siblingView가 있다면 먼저 addSubView가 된 순으로 drawing된다. siblingView가 겹쳐질 때는 , 먼저 drawing된 View가 가려진다. 그림출처: KxCoding 2. superView와 subView의 계층 구조에 따른 몇가지 특징 superView를 제거하면 subView도 함께 제거된다. superView의.. 2022. 3. 14. error - Extensions must not contain stored properties 이슈 발견 보고서 📌 발견일 / 해결일 22.03.10 📌 이슈사진 📌 상황설명 extension에 깔끔하게 정리하고자 관련 변수를 같은 위치에 선언했더니 발생했다. 📌 Solution extension에는 저장프로퍼티를 넣을 수없고 연산프로퍼티만 사용가능함 변수 선언부에 따로 설정하거나, extension에 꼭 넣어야한다면 연산프로퍼티로 선언할것 참고 → https://zeddios.tistory.com/263 2022. 3. 13. 코코아팟 Hero 라이브러리 **🌐 LINK → CocoaPods 사이트** https://github.com/HeroTransitions/Hero 업데이트 내용이 있을 수 있기 때문에 자세한 내용은 상단 링크를 한번 살펴보고 사용할 것. Hero Hero 는 iOS 뷰 컨트롤러 전환을 빌드하기 위한 라이브러리입니다. UIKit의 성가신 전환 API 위에 선언적 레이어를 제공하여 개발자가 사용자 지정 전환을 쉽게 수행할 수 있도록 합니다. 사용법 1.활성화 self.hero.isEnabled = true 2. heroID, heroModifiers 설정 혹은 프레젠트 스타일만 정해줘도 실행됨 property heroID heroModifiers 애니메이션 템플릿종류 heroModalAnimationType heroNavigation.. 2022. 3. 11. 안전하게 배열에 접근하는 3가지 방법 📌 안전하게 배열에 접근하는 방법 -> 하단의 2번째 방법을 함수화한 방법 일반적으로 배열에 index를 통해 접근하는 상황을 최소화해야하는 것이 옳지만 어쩔 수 없는 상황이 발생하곤 한다. Swift에서는 좀 더 안전한 처리를 위해 함수 단에서 guard를 지원합니다. 하지만 Array의 경우 index를 통해 접근해서 가져오는 값이 Optional타입이 아니기 때문에 접근하는 index가 유효하지 않은 경우에는 꼼짝없이 Fatal error: Index out of range 메세지가 발생합니다. let arr = [1,2,3,4] arr[4] // Fatal error: Index out of range 예를 들어 API통신을 통해 배열이 생성되는데 생성한 배열에 값이 추가 되지않은 경우, 호출을 .. 2022. 3. 10. 앱의 다크모드를 바꾸는 여러가지 방법 📌 개념 IOS13 부터 다크모드가 도입되었습니다. 앱전체를 시스템설정에 따라 다크모드로 적용하는 것이라면 별 이슈가 없겠지만 아래와 같은 경우가 있을 수 있습니다. 일부만 다크모드를 적용하는 경우 앱 내부 설정에서 다크모드 변경을 제공하는 경우 [Common Property] OverrideUserInterfaceStyle → 사용자인터페이스스타일 재정의 Apple Document https://developer.apple.com/documentation/uikit/uiview/3238086-overrideuserinterfacestyle var overrideUserInterfaceStyle: UIUserInterfaceStyle { get set } Discussion Use this propert.. 2022. 3. 9. error - cannot find [ ] in scope iphoneSE3공개 이슈 발견 보고서 📌 발견일 / 해결일 22.03.08 📌 이슈사진 📌 상황설명 외부파일의 클래스가 접근이 안돼 상속클래스, 프로토콜을 확인했지만 접근이 안됨. 📌 Solution 자신이 추가한 문서가 아니라 외부에서 가져온 파일은 따로 타켓을 설정해주어야한다. FileInspector 중간부분 타겟 멤버십에서 현재 앱을 체크해야한다. 그리고 다시 빌드 1. FileInspector - TargetMembership Check 2. Build 참고 ⌥⌘1 → File Inspector ⌥⌘2 → History Inspector ⌥⌘3 → Quick Help Inspector ⌥⌘0 → Hide Inspector 오늘은 바로 애플의 신제품을 공개하는 날입니다. 새롭게 공개하는 제품은 iphoneSE3 인데.. 2022. 3. 8. component와 split 함수 그리고 map함수 1. component() parameter : separatedBy separator : 구분기호 입력 구분자를 기준으로 무조건 단어로 처리한다. 구분자를 “ ”로 할경우 스페이스를 기준으로 양옆을 단어로 인식 띄어쓰기 하나만 있어도 배열의 갯수가 2개로 인식 구분자를 삭제 ( split은 구분자 포함 ) var s = "this is powerful pineapple" print(s.components(separatedBy: "p")) // ["this is ", "owerful ", "inea", "", "le"] var t = " this is powerful pineapple" print(t.components(separatedBy: " ")) // ["", "", "this", "is", "p.. 2022. 3. 7. 알고리즘이란 알고리즘의 정의 어떠한 문제를 해결하기 위한 여러 동작들의 모임을 말합니다. 위키백과에서는 아래와 같이 정의합니다. 수학과 컴퓨터 과학, 언어학 또는 관련분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것. 요약하자면 어떠한 일을 해결하려는 방법과 절차 라는 말입니다. 언제가는 끝나야한다는 유한성 작동이 일어나게 하는 단계적 집합 → 연산, 데이터 진행 또는 자동화된 추론을 형성 알고리즘의 단계별 설명 문제정의 : 현실세계의 문제를 컴퓨터를 이용하여 풀 수 있도록 입력과 출력의 형대로 정의 알고리즘 설명 : 문제를 해결하기 위한 단계를 차례대로 설명 정확성 증명 : 항상 올바른 답을 내고 정상적으로 종료되는지 증명 성능 분석 : 수행시간이나 사용공간에 대한 알고리.. 2022. 2. 25. 노치 부분까지 레이아웃 설정하는 방법 레이아웃을 만들때, 노치부분까지 이미지를 넣을것인지 결정후, 배경을 image로 넣는경우 1. StoryBoard에서 image를 넣어준다. 2. 배경으로 사용할 이미지를 상 하 좌 우 를 0으로 맞춰준다. 3. 노치가 있는 모델은 자동으로 노치길이만큼 top이 적용된다. 풀어줄지 결정 4. 범위를 SuperView로 하는 경우는 해당 레이아웃을 선택해 firstItem을 변경 2022. 2. 24. 이전 1 ··· 11 12 13 14 15 16 17 ··· 33 다음