Xcode50 iOS) UIImagePickerController 지난 번 인스타그램 레이아웃을 작성한 뒤 이번엔 게시물을 업로드하는 기능을 구현하는 예제를 정리해볼까합니다. Right BarButton 적용할 액션 메소드를 추가해줍니다. ImagePicker뷰를 프레젠트 해주어야하므로 UIImagePickerController를 선언해줍니다. 이제 버튼을 누르면 이미지 선택하는 화면으로 넘어가게 되는 것을 볼 수 있습니다. 원래는 앨범 접근에 관련한 권한을 Plist에서 부여해야합니다. 따라서 Plist에서 Photo Library Usage Description을 추가합니다. 이미지 피커 컨트롤러의 속성에서 allowsEditing을 추가하여 true로 설정해주면 이미지 확대 및 편집이 가능하게 됩니다. 이제 Choose를 누른 후 동작을 구현합니다. Choose를.. 2022. 5. 11. iOS) 스토리보드 없이 인스타그램 레이아웃 그리기 & ActionSheet 피드화면 만들기 우선 스위프트 패키지 매니저에서 스냅킷을 추가하였습니다. 스토리보드를 삭제하고 main을 검색하여 plist의 스토리보드 정보를 삭제합니다. class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene = (scene as? UIWindowScene) else { return } window = UIWindow(windowScene: windowSce.. 2022. 5. 10. iOS) 스토리보드 없이 레이아웃 그리기 연습 & 공유기능(Share Sheet) 구현 예제 (3) 이번엔 공유하기 버튼이 있는 앱 상세화면을 구현하겠습니다. TodayViewController의 컬렉션 뷰에서 UIViewController를 프레젠터로 넘겨주도록 구현. 화면전환까지 구현완료하였고 이제 컴포넌트들을 넣어주겠습니다. Share Sheet 공유하기 버튼을 눌렀을때 컨텐츠를 공유할 수 있는 아래 뷰 컨트롤러가 ShareSheet입니다. iOS기본앱은 기본앱이 아닌곳에서도 다양한 앱으로 공유도 가능합니다. 1. UIActivityViewController 2. URL, 공유할 컨텐츠와 타입은 개발자가 지정가능. 3. 공유될 목적지 또한 개발자가 지정가능. 생각해둘 것 어떤컨텐츠인가? 어떤 앱을 우선순위로 공유? init( activityItems : [Any], applicationActivi.. 2022. 5. 8. iOS) 스토리보드 없이 레이아웃 그리기 연습 & 공유기능 구현 예제 (2) 다음은 앱 탭의 UI를 구성해보겠습니다. UINavigationController 인베디드 우선 앱 뷰컨트롤러 파일을 만들고 클래스를 구현합니다. UINavigationBar가 필요하기때문에 AppViewController는 UINavigationController에 인베디드 되어야합니다. 앱 뷰 컨트롤러에는 세가지 이상의 UI컴포넌트를 사용합니다. 아래와 같이 UI스크롤뷰에 스택뷰가 AddSubView했을때 장점은 UI스택뷰는 서브뷰에 의해서 높이가 정해지기때문에 높이 변동이 생겨도 자동적으로 스택뷰도 늘어나기에 따로 계산할 필요가 없습니다. 임시로 스택뷰에 컴포넌트를 추가해주고 테스트 해보겠습니다. Feature Section의 UICollectionView 구현하기 이제 파란 부분의 커스텀 셀을 만.. 2022. 5. 8. iOS) 스토리보드 없이 레이아웃 그리기 연습 & 공유기능 구현 예제 (1) 설정 스토리보드 없이 진행하기 위해 스토리보드 삭제. 남아있는 부분도 마저 삭제. Plist에서 main스토리보드가 표시되는 것이 Scene Delegate에 설정되어있었으나 삭제했으므로 수동으로 코드로 구현해주어야함. 가장 기본이 되는 윈도우와 뷰 컨트롤러를 설정해주는 메소드입니다. 오늘 사용할 프레임워크인 KingFisher와 SnapKit 또한 스위프트 패키지 매니저로 설치 레이아웃 그리기 1. 탭바 컨트롤러 기존의 뷰컨트롤러를 아래와 같이 이름과 상속을 변경 아직 탭바 아이템이 그려지지 않았기에 추가해줍니다. 그럼 다음과 같이 탭바가 그려지는 것을 확인할 수 있습니다. 투데이 뷰 컨트롤러 생성. 임시로 생성하던 뷰 컨트롤러를 투데이뷰 컨트롤러로 변경 사이즈 조절까지 마친 컬렉션 뷰 모습 커스텀셀을.. 2022. 5. 8. iOS) URLSession 정리 URLSession url 로딩 시스템을 구현할 수 있게 하는 객체 osi의 7번째 계층 애플리케이션 레이어의 개념들이 이 URLSession을 통해서 어떻게 표현되고 구축할 수 있는지를 알아보겠습니다. foundation 프레임워크에서 URLSession이라는 클래스를 제공합니다. ios를 포함한 애플의 os 상에서 네트워크를 구축을 하려면 이 url 세션을 활용해야 합니다. http를 포함한 osi 7계층의 프로토콜들을 지원 네트워크 인증, 쿠키, 캐시 관리 같은 서버와의 데이터 교류 작업 전반을 지원 네트워크 데이터 전송과 관련된 테스크 그룹 조정 url 로딩 시스템이 뭐지? url을 통해서 상호작용하고 표준 인터넷 프로토콜을 사용해서 서버와 통신하는 시스템을 의미합니다. 표준 인터넷 프로토콜은? .. 2022. 5. 7. iOS) URLSession 사용해보기전 네트워크 구조 정리 네트워크 OSI Seven Layer? OSI Model이란? A가 B에게 택배를 보내는 것 메시지를 보낸다. -> 편지봉투에 넣는다 => B에게 전달 => B가 별도로 메시지를 쓴다. -> 기존에 받은 봉투와 메시지를 좀더 큰 봉투에 넣는다 => C에게 전달 => => C가 별도로 메시지를 쓴다. -> C가 이전에 받은 봉투와 메시지를 더 큰 봉투에 넣는다. =>...G에게 도착 G입장에서 A의 편지를 보려면 어떻게 할까요? 겹겹이 층계별로 메시지를 확인합니다. 위의 과정과 비슷하게 각 계층에서 층계별로 메시지를 전달하게 된다고 하는데 아직 감이 잘 안 오네요. 이번 시간에 URLSession을 이용해서 HTTP통신을 알아보겠습니다. OSI(Open Systems Interconnection) 개방형 .. 2022. 5. 7. 이전 1 ··· 4 5 6 7 8 다음 728x90