목록Xcode (19)
브래의 슬기로운 코딩 생활
아이콘을 탭하면 모달창이 나오고 learn more버튼을 탭하면 특정 url로 가는 safari앱을 실행시키는 프로젝트이다. Detail 스토리보드를 만들고 FrameworkDetailViewController를 만들어서 연결해준다. FrameworkDetailViewController 소스 safari 관련함수를 쓰기 위해서는 다음을 import해주어야 한다. 다음은 메인 스토리보드를 관리하는 뷰컨트롤러의 소스중 일부 이다. 이 코드블럭을 실행하려면 45번째 줄의 소스가 필요하다. 사실 이건 애플 프레임워크 프로젝트를 만들어 놓고 모달 기능만 추가한 프로젝트라서 모든 소스를 포스팅하지 않고 추가한 부분만 포스팅 하였다.
UICollectionView 구현을 위해서는 presentation, data, layout을 구현해야 한다. UICollectionView 소스 UICollectionViewCell 소스 BannerInfo소스
기존 UICollectionView 에서 Data, Presentation 구현 방법은 에러가 생길수 있음 UICollectionViewDataSource UICollectionViewDiffableDataSource 기존 UICollectionView 에서 layout 구현관련해서 복잡한 구현시, 난이도가 갑자기 올라감 UICollectionViewFlowLayout UICollectionViewCompositionalLayout 예)
컬렉션 뷰 셀을 관리할 클래스 생성 - 클래스 이름을 컬렉션 뷰 셀에 연결 - 아이덴티파이어도 클래스 이름으로 변경해준다. 설정한 컬렉션 뷰 셀의 컨텐트 뷰를 클릭하고 어시스턴트 에디터를 키면 만들어 놓은 셀 컨트롤러를 선택할 수 있다. 컬렉션 뷰 셀에 있는 아이템을 컬렉션 뷰 셀 클래스에 연결한다. 그리고 연결한 아이템들을 업데이트 하는 함수를 작성해준다. 다시 뷰컨트롤러 소스로 돌아와 이번에 컬렉션 뷰를 연결해준다. 그리고 뷰 컨트롤러 소스에 다음의 소스를 작성해준다. 상황에 따라 코드는 바뀔수 있다. (필수 메소드)
아이폰의 화면 전체를 표시하기 위해서는 수퍼뷰를 알아야한다. 화면에 꽉 차게 오토레이아웃을 적용해도 핸드폰의 구석에 빈공간이 있는걸 확인할 수 있다. 이걸 완전히 꽉 채우려면 오른쪽의 오토레이아웃 속성을 Safe Area에서 Super View로 바꿔주면 된다. 수평은 안 건들여도 되고 수직만 건들이면 된다. 위 아래 둘다 오토레이아웃 속성을 더블 클릭하고 Safe area로 되있는 것을 Superview로 바꾸어주면 화면에 꽉차게 표현이 된다. (아 그리고 당연한거지만 Constant를 0으로 설정해주어야 한다.) 그러면 이렇게 화면을 꽉 채울수가 있다.
1. 화면을 컨트롤할 뷰 컨트롤을 만든다. 2. 해당 화면에 클래스를 연결해주고 스토리보드 아이디도 동일한 이름으로 설정해준다.
화면 전환 방식 - 1 : present 방식 ViewController가 다른 ViewController 호출(present) 다른 ViewController를 Modal로 띄움 UIViewController에 정의된 present 메소드를 사용 돌아올 때 - presentingViewController?.dismiss(animated:) full screen으로 화면 띄우기 - vc.modalPresentationStyle = .fullScreen 뷰 컨트롤러 추가 뷰 컨트롤러 선택 - 아이덴티티 인스펙터 - 스토리보드 아이디 설정(코드에서 쓸) 메인 뷰에 클릭하면 화면 이동이 될 버튼 추가 어시스턴트 에디터 - 버튼을 컨트롤 키를 누르며 소스코드의 클래스로 드래그 하여 액션 함수 추가 위와같이 소스..
Autolayout (오토 레이아웃 이란?) 오토 레이아웃(Auto Layout)은 제약 조건(Constraints)을 이용해서 뷰의 위치를 지정하는 것. 다시 말하면, 두 뷰 사이의 관계를 제약 조건이라는 것을 이용해서 뷰의 크기와 위치를 지정하는 것. 오토 레이아웃은 여러 해상도를 지원하기 위해 만들어 졌다. 아이폰의 크기가 다양해지면서 해상도도 달라졌는데, 다른 크기에서도 같은 화면을 보여주기 위해 오토 레이아웃을 사용한다. 세로 보기 화면뿐만 아니라 가로 보기 화면까지도 지원한다. 위의 이미지를 보면 아이폰SE와 아이폰8, 아이폰8 Plus 기종이 달라도 보여지는 화면이 똑같다는 것을 볼 수 있다. 위의 이미지와 같이 오토 레이아웃은 제약 조건(Constraints)을 이용하여 자동으로 해상도에 ..
앱 개발 기술 분류 native - 안드로이드: JAVA, Kotlin - iOS: Swift, Objective-C cross platform - React native - Flutter - Web View를 감싸고 있는 웹사이트 - HTML+CSS+JS - Apache Cordova Xcode로 Swift문법 공부하기 Playground로 Swift문법 공부하기 Playground로 Swift문법과 UI테스트 폰트 조절: [Xcode]-[Preferences]-[Themes] 새로운 앱 만들기: [File]-[New]-[Project]-[iOS]-[App] 프로젝트 기본 설정 같은 이름의 프로젝트가 이미 있다면 폴더 변경하거나 이름 변경 프로젝트 생성 후 Xcode 초기 화면 Deployment Ta..
API, Open API, RESTful을 간단하게 한 문장으로 정리 API (Application Programming Interface)는 애플리케이션들이 서로 상호작용하기 위해 사용하는 인터페이스이고, Open API는 개방적으로 접근하고 사용할 수 있는 API를 말하며, RESTful은 웹 서비스를 구축하는데 사용되는 아키텍처 스타일이다. URI와 URL URI는 리소스를 유일하게 식별하기 위한 문자열이며, URL은 그 중에서도 리소스의 위치를 지정하는 형식의 문자열이다. ViewController.swift 파일 수정 protocol 채택(adopt)과 준수(conform)개념, 필수 메서드(cellForRowAt, numberOfRowsInSection), indexPath 프로토콜 채택은 객..