본문 바로가기

이상/iOS

[iOS] UITableView Swipe Actions Editing Mode를 테스트하다가 따로 구현하지 않았는데도 editingStyle이 delete로 지정된 Cell들은 오른쪽에서 Delete 버튼이 튀어나오는걸 알게되어서 Swipe Actions에 대해 알아보았다. 1. UIContextualAction, UISwipeActionsConfiguration UITableView의 Delegate를 상속하는 ViewController에서 swipe라고 입력하면 leading과 trailing으로 시작하는 메소드가 있다. 말 그대로 leading은 왼쪽 끝에서 보이게 될 SwipeAction이고 trailing은 오른쪽 끝에서 보이게 될 SwipeAction이다. 이 두가지를 구현해주면 된다. SwipeAction를 구현하기 위해 UIContextualA.. 더보기
[iOS] UITableView Editing Mode 앱을 만들면서 항상 기본적으로만 사용했던 UITableView에 대해 찾아보다 Editing Mode를 사용하는 방법이 있어서 기록해둔다. 1. UITableView 추가 우선 UITableView와 UITableView를 조작할 버튼들을 추가한다. 필요한 IBOutlet, IBAction들을 연결하여 추가하고 itemName에 String 값 20개씩 넣어줄 add20Items()를 생성했다. 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 class ViewController: UIViewController { @IBOutlet weak var editTableView: UITableView! @IBOut.. 더보기
[iOS] 엔터프라이즈 배포 앱을 배포하는 방식에는 몇가지가 있는데 그 중 엔터프라이즈 배포에 대해 정리한다, 안드로이드는 .apk파일만 있으면 앱을 다운받을 수 있어 iOS보다 손쉽게 배포할 수 있다. 그래서 예전에 내가 안드로이드 스마트폰을 사용할 때 블랙마켓이나 블로그에서 .apk 파일만 다운받아서 앱을 설치해 사용하곤 했다. 하지만 iOS는 맥북에서 .ipa파일을 스마트폰에 직접 넣어 앱을 설치하는 경우를 제외하고 앱 설치파일인 .ipa 파일과 각종 정보가 담긴 .plist파일, 최소 이 두가지는 있어야 앱을 설치할 수 있으며 이 조차도 https://로 시작하는 SSL이 적용된 서버에서만 설치할 수 있다. 여기서 그럼 그냥 App Store로 배포하면 안되냐라고 할 수도 있는데 예전에 어떤 학교 내부용 앱을 앱스토어로 배포.. 더보기
[iOS] CheckBox 만들기 with Delegate Android와 달리 iOS에는 CheckBox나 RadioButton과 같은 기능이 없다. 앱을 만들다 보면 로그인 화면의 자동 로그인, 목록에서 항목 선택 등 CheckBox 컨트롤이 필요한 경우가 의외로 많다. 이번 내용은 CheckBox를 만드는 방법과 알아두면 아주 유용하게 사용될 Delegate에 대한 것이다. 결과물부터 보자. CheckBox CheckBox도 CustomView를 이용하여 만들었다. 1. 파일 생성 CheckBox를 만들고 Delegate를 이용하여 상태값을 변경할 것이므로 Delegate.swift가 추가되었다. 2. 화면 만들기 (CheckBoxView.xib) 정사각형 모양의 CheckBox를 만들 것이므로 View의 Size를 FreeForm으로 설정하고 Width와.. 더보기
[iOS] UIScrollView(Vertical) 만들기 +21.05.20 비교적 조회수가 높아서 다시보니 Horizontal과 Vertical을 반대로 작성했네요. 무슨 생각으로 글을 작성했는지... 죄송합니다. 본의아니게 어그로를 끌었네요. Horizontal ScrollView는 조만간 새로 작성하겠습니다. +21.06.01 -> [iOS] UIScrollView(Horizontal) 만들기 (+SnapKit 사용법) ——————————————— UIScrollView는 이름 그대로 Scroll 기능이 있는 View다. 스마트폰과 PC의 가장 큰 차이점은 화면의 크기다. 갤럭시 노트나 아이폰 플러스, 플러스 프로와 같이 화면이 큰 스마트폰들도 있지만 이 기종들도 PC의 모니터에 비하면 화면이 너무나 작다. 때문에 UIScrollView는 생각보다 많이 사.. 더보기
[iOS] CustomView 사용하기 CustomView를 다 만들고 나면 UIViewController에 추가해서 화면에 보이게 해야한다. 두가지 방법이 있는데, Storyboard에서 UIViewController에 View를 만든 후 CustomView로 Custom Class를 지정하거나 소스로 View에 addSubview() 하는 방법이 있다. 우선 UIViewController에 자신이 만든 CustomView를 보여줄 UIView를 하나 만든다. 나는 ViewController의 흰 부분에 CustomView를 추가하려고 한다. 1) Custom Class 지정 CustomView를 추가할 View를 클릭한 후 Identity Inspector에서 Custom Class의 Class를 CustomView로 지정한다. 이 방법은.. 더보기
[iOS] CustomView 만들기 CustomView는 말그대로 나만의 View로 Xcode에서 제공하는 기본 View들을 조합하여 새로운 View를 생성하여 사용하는 방법이다. 준비물은 2가지 또는 3가지. 1) CustomView이름.xib 2) CustomView이름.swift 3) CustomView이름Delegate.swift (선택) 요즘 우리가 Xcode로 화면을 만들 때 주로 사용하는게 Storyboard이다. Storyboard는 iOS 5부터 사용되었으며 그 이전에는 .nib(Nextstep Interface Builder) 또는 .xib(Xcode Interface Builder) 파일을 이용했다. 때문에 오래된 프로젝트는 여전히 Storyboard가 아닌 경우가 많으며 나도 프로젝트 파일을 받았을 때 .nib 또는 .. 더보기
[iOS] 화면이 깨진다? 원인을 파악해보자 화면을 만들다 보면 아래와 같은 로그가 찍히는 경우가 있다. 해석 Unable to simultaneously satisfy constraints. 동시에 constraints를 만족시킬 수 없어 Probably at least one of the constraints in the following list is one you don't want. 아래 constraints 리스트에 나와있는 것들 중에 최소한 하나는 니가 필요한게 아닐거야 Try this: (1) look at each constraint and try to figure out which you don't expect; 각 constraint를 확인하고 니가 생각했던게 아닌 부분을 찾아봐 (2) find the code that adde.. 더보기