본문 바로가기

분류 전체보기196

[iOS/Swift] UIImagePickerController 사용하기 UIImagePickerController 객체 생성 private lazy var picker = UIImagePickerController().then { $0.delegate = self } or var picker = UIImagePickerController() override func viewDidLoad() { picker.delegate = self } 버튼 target 설정 imageButton.addTarget(self, action: #selector(presentPhotoPicker), for: .touchUpInside) @objc func presentPhotoPicker() { present(picker, animated: true) } UIImagePickerControlle.. 2022. 8. 21.
[Swift/iOS] UICollectionView layout 업데이트 collectionView.collectionViewLayout.invalidateLayout() 레이아웃 속성을 변경하고 싶을때 명시적으로 레이아웃을 업데이트 할 수 있음 2022. 8. 20.
[iOS/Swift] UITableView Header 높이 업데이트 하기 스크롤 시 UITableView Header를 고정 시킬 수가 있는데 헤더에 있는 버튼을 눌러 헤더의 높이를 변경하고 싶은 경우 ex) 헤더 버튼 누르면 검색 영역 노출 UITableViewHeaderFooterView 에 높이 업데이트 하는 코드 작성 func toggleHeight() { containerView.snp.updateConstraints { make in make.height.equalTo(searchButton.tag).priority(.high) } } header 지정하는 Delegate에서 헤더의 버튼에 addTarget 해줌 이때 연결한 함수는 updateHeader func tableView(_ tableView: UITableView, viewForHeaderInSectio.. 2022. 8. 17.
[LeetCode] 704. Binary Search 보호되어 있는 글 입니다. 2022. 8. 15.
[LeetCode] 724. Find Pivot Index pivot 인덱스란 인텍스의 모든 왼쪽 요소의 합과 오른쪽의 모든 요소의 합이 같은 지점의 인덱스 class Solution { func pivotIndex(_ nums: [Int]) -> Int { var rightSum = nums.reduce(0, +) - nums[0] var leftSum = 0 if rightSum == leftSum { return 0 } for index in 1.. 피봇 인덱스 기준 왼쪽 합, 오른 쪽 합을 구해야 하므로 전체 하에서 현재 인덱스 값을 빼줌 if rightSum == leftSum { return 0 } 첫 번째 인덱스에서 왼쪽 합, 오른 쪽 합이 같은 경우 첫 번째 인덱스가 피봇 인덱스 이므로 0을 리턴함 (인덱스 0이 피봇 인덱스) 전체 합 S에서 현재.. 2022. 8. 1.
[LeetCode] 1480 Running Sum of 1d Array 보호되어 있는 글 입니다. 2022. 7. 29.
[Swift] MVVMC 자세히 알아보기 - 튜토리얼 3 (버튼 눌러서 화면 전환하기) 2022.07.10 - [🍎 iOS/Architecture Pattern] - [Swift] MVVMC 자세히 알아보기 - 튜토리얼 1 2022.07.11 - [🍎 iOS/Architecture Pattern] - [Swift] MVVMC 자세히 알아보기 - 튜토리얼 2 해당 튜토리얼은 위 글과 이어집니다! 이전 포스팅 까지 보고 오셨다면 AppCoordinator에서 LanindCoordinator를 childCoordinator로 추가하면서 LandingViewController를 화면에 보여주는 것 까지 되어 있을거에요! 이번 포스팅에서는 view의 버튼을 눌러서 화면 전환하는 방법을 알아보겠습니다. Landing 화면에서 Register(회원가입)과 Login(로그인) 화면으로 이동할 수 있다고 .. 2022. 7. 12.
[Swift] MVVMC 자세히 알아보기 - 튜토리얼 2 (childCoordinator로 이동하기) 2022.07.10 - [🍎 iOS/Architecture Pattern] - [Swift] MVVMC 자세히 알아보기 - 튜토리얼 1 위 포스팅 후에 이어서 하는 포스팅입니다 🙌🏻 LandingCoordinator AppCoordinator는 앱을 처음 실행했을 때 첫 화면을 어떤 화면으로 할지 담당하는 Coordinator입니다. 화면을 그리기 위해 필요한 데이터(dependency)를 준비하고 네트워킹을 위한 객체를 설정합니다. 위 그림을 보면 AppCoordinator에서 Landing 화면을 보여줄 수도 있고, 자동 로그인이 되어 있다면 HomeCoordinator로 이동할 수 있습니다. 우선 LandingCoordinator을 작성하겠습니다. import UIKit class LandingCo.. 2022. 7. 11.
[Swift] MVVMC 자세히 알아보기 - 튜토리얼 1 (Coordinator와 AppCoordinator 구현하기) 그 동안 MVVM과 MVVMC 그리고 Coordinator에 대해 포스팅을 했습니다. 혹시 MVVM이나 MVVMC가 생소하시다면 아래 포스팅을 참고하시면 좋을거 같아요! 만약 MVVM이 뭔지 자세히 모르겠다면 👇 2022.06.04 - [🍎 iOS/Architecture Pattern] - [Swift] MVVM 간단하게 알아보기 MVVM-C가 무엇인지 모르겠다면 👇 2022.06.11 - [🍎 iOS/Architecture Pattern] - [Swift] MVVMC 간단하게 알아보기 Coordinator의 역활이 궁금하다면 👇 2022.06.14 - [🍎 iOS/Architecture Pattern] - [Swift] MVVMC의 Coordinator 알아보기 우선 MVVMC 구현 방법은 굉장히 많습.. 2022. 7. 10.
[iOS/Swift] UIButton in iOS15 WWDC 정리 Buttons 4가지 기본 style Button configuration config.image 프로퍼티에서 지정한 이미지의 위치를 imagePlacement를 사용하여 위치를 지정해 줄 수 있음 addToCartButton.configurationUpdateHandler = { [unowned self] button in // 이미 버튼에 지정되어 있는 configuration을 받아옴 var config = button.configuration // 버튼이 highligted 됬을 때 fill이미지로 지정하고 아닌 경우에는 outline이미지를 적용 config?.image = button.isHighlighted ? UIImage(systemName: "cart.fill.badge.plus") :.. 2022. 6. 29.
[Swift] UIButton 수직으로 배치하기 with Configuration 이렇게 그림과 글자가 수직으로 배치되는 경우가 종종 있는데 이때 아래 코드를 사용하면 쉽게 수직 배치할 수 있다 출처 https://velog.io/@ezidayzi/iOS-UIButton-title-image-align-%ED%95%98%EA%B8%B0 [iOS] UIButton title , image vertical align 하기 UIButton를 extesion해서 안에 넣어두고 사용하면 편리하다.😳 velog.io extension UIButton { func alignTextBelow(spacing: CGFloat = 8.0) { guard let image = self.imageView?.image else { return } guard let titleLabel = self.titleLa.. 2022. 6. 28.
[iOS/Swift] UICollectionViewCell 알아보기 보호되어 있는 글 입니다. 2022. 6. 27.