일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SplashFragment
- 개발
- aab
- DispatchTouchEvent
- SWIFT
- progressbar
- RxJava
- Kotlin
- retrofit2
- ViewModel
- RecyclerView
- UIPickerView
- CSS
- MotionEvent
- web
- Android
- javascript
- Alamofire
- 실행지연
- CalendarView
- dispatchQueue
- MemoList
- HTML
- imagepicker
- ayncAfter
- InAppPurchase
- IOS
- 스터디
- viewpager2
- Dropdown
- Today
- Total
목록SWIFT (6)
멜팅비의 개발 공부
오늘은 iOS에서 자주 사용하는 라이브러리로 DropDown 라이브러리를 사용하여 DropDown View를 구현하는 방법을 정리하려고 한다. 왼쪽 같은 DropDown View를 자주 보게 되고 구현해야 하는 상황이 자주 오게 된다. 안드로이드의 경우 Spinner(스피너)라는 위젯을 통해 쉽게 구현이 가능하다. iOS의 경우 PickerView라는 기본 UI를 제공하지만 왼쪽처럼 구현하기 어렵다. 그래서 DropDown이라는 라이브러리를 자주 사용하게 된다. 그래서 DropDown 라이브러리를 어떤 식으로 사용하고, 커스텀하는지 알아보려고 한다. DropDown 라이브러리는 https://github.com/AssistoLab/DropDown Github 주소를 통해 더 확인 할 수 있다. 먼저 코코..
오늘의 예제 버튼 안에 아이콘 이미지와 텍스트가 세로 방향으로 정렬하는 형태로 버튼을 구현하는 방법이다. 예제의 경우, 빨간색 View안에 버튼을 넣어서 모양을 구현했다. 먼저 View 안에 UIButton을 넣고, 위치를 잡은 뒤 필요한 디자인에 따라 아이콘과 텍스트를 설정하면 기본 버튼의 경우 아이콘과 텍스트가 나란히 붙은 모양으로 구현이 된다. UIButton에 extension을 추가하여 쉽게 구현할 수 있다. extension UIButton { func alignTextBelow(spacing: CGFloat = 4.0) { guard let image = self.imageView?.image else { return } guard let titleLabel = self.titleLabel ..
프로필 사진을 설정하는 등 사진첩에서 사진을 가져오는 기능을 구현해야 할 때 UIImagePickerController를 활용하면 된다. let imagePicker = UIImagePickerController() override func viewDidLoad() { super.viewDidLoad() imagePicker.delegate = self btnPicker.addTarget(self, action: #selector(btnPickerDidTap(:)), for: .touchUpInside) } @objc func btnPickerDidTap(_ sender: UIButton) { self.imagePicker.sourceType = .photoLibrary self.present(image..
Alamofire를 통해서 네트워크 통신을 할 때 다양한 Response가 내려오는데 Array형식으로 내려오는 데이터를 처리하는 방법을 정리하려고 한다. { "result": [ { "name": "Kim:, "age": 10 }, { "name": "Lee":, "age": 10 } } 개발을 하다 보면 위와 같은 형식의 Json ResponseBody가 내려오는 경우가 있다. 이럴 때 name과 age를 갖는 Person 구조체를 만들어서 Array으로 변환하여 데이터를 받아 처리하면 좋다. struct Response: Codable { let result: [T] } struct Person: Codable { let name: String let age: Int } 제너릭을 이용해서 어떤 타입..
실행 지연 - DispatchQueue.main.asyncAfter(deadline: ) 특정 코드를 시간차를 두고 실행이 필요한 경우. 즉, 실행지연이 필요할 때 DispatchQueue.main.ayncAfter()를 사용하면 된다. DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1) { // 1초 후 실행될 부분 }
현재 개발 중인 앱이 슬롯머신처럼 버튼을 눌렀을 때 랜덤 하게 pick 해주는 기능이 포함되어 있는데 iOS에서 어떻게 구현해야 할지 검색하다가 DateTimePicker처럼 UIPickerView를 이용해서 자동으로 스크롤링되도록 구현하기로 했다. 그래서 UIPickerView를 Custom 하기 위해 필요한 부분들을 정리해봤다. UIPickerView 사용자 스크롤 막기 - 버튼을 눌렀을 때만 동작하게 만들기 위해서 사용자가 직접 터치하는 부분을 막을 때 사용 pickerView.isUserInteractionEnabled = false UIPickerView 아이템 높이 변경(row height) - 설정하고자 하는 높이를 return 하면 된다. func pickerView(_ pickerView..