아이폰 개발7 hitTest 활용하여 터치이벤트 확인하기 override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { if self.circleView.frame.contains(point) { return super.hitTest(point, with: event) } return nil } 특정 뷰에 클릭이 이뤄졌는지 간단하게 확인할 수 있는 방법으로 위의 hitTest를 활용할 수 있습니다. 예제 코드에서는 어떠한 circleView를 탭했을 때에 작동하는 코드입니다. 2023. 1. 13. tableView의 header, footer view 색 변경하기 func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) { if let header = view as? UITableViewHeaderFooterView { header.tintColor = ThemeManager.current.mainBackgroundColor header.textLabel?.textColor = ThemeManager.current.oppositeColor } } 테이블뷰를 나누는 섹션의 텍스트컬러와 배경컬러는 view as? UITableViewHeaderFooterView를 통해서 배경색은 header.tintColor, 텍스트컬러는 header.text.. 2023. 1. 5. filter 및 tableView section 활용하기 var contentCount = authHistories.filter({$0.regDtString.split(separator: ",").first! > authSection[indexPath.section]}).count cell.authTimeLabel.text = authHistories[indexPath.row + contentCount].regDtString 만약 여러가지 목록 중에서 해당 일자를 기준으로 그 이후에 일어난 사건에 대해 섹션으로 분리를 해야한다면, filter를 사용해서 일자값만 추출한 다음에 기준으로 잡을 해당 일자보다 더 앞선 컨텐츠만 count로 잡을 수 있습니다. 그런 다음 셀의 위치를 알려줄 때에는 indexPath.row에 contentCount를 더해서 전달해주면 .. 2022. 12. 30. CIImage, CGImage, UIImage 변환 및 개념 정리 코딩을 하다보면 자주 마주하게 되는 이미지는 아마도 UIImage와 CGImage인 것 같습니다. 일단 이미지를 넣은 다음에 Xcode 가라사대 삑 이거 이대로 넣으면 안 되고 cgImage로 바꿔줘야해 하면 .cgImage만 후다닥 추가하던 저는 이번에 조금 더 개념을 확실하게 알아볼 수 있었습니다. 다른 포스팅에도 적었던 Mantis 라이브러리를 쓰면서 생겨난 궁금증에서 비롯된 것이었는데요. 사진을 찍거나/앨범에서 가져오거나 둘 중 한 가지의 방법으로 사진을 처리하고자 할 때 이상하게도 후자는 잘 되는데 전자는 똑같은 코드로 진행이 되지 않는 것이였어요. 넣어준 것은 uiImage로 둘 다 동일했는데 말이예요. 그래서 원작자에게 질문을 던졌습니다. 저의 단순한 추측으로는 해상도가 달라서 그런가? 싶었.. 2022. 12. 28. DateFormatter 활용해보기 let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd, a h:mm" let date = dateFormatter.date(from: authHistory.regDtString) dateFormatter.dateFormat = "yyyy-MM-dd" let stringDate = dateFormatter.string(from: date ?? Date()) DateFormatter를 사용하기 위해서 멀쩡한 String형을 Date형으로 만들었다가 다시 내가 원하는 양식의 String형으로 바꿔치기 하는 코드... 크게 설명할 부분도 없고, 직관적으로 이해할 수 있는 내용인 것 같습니다.. dateFormatter.date는 S.. 2022. 12. 27. [사진]촬영 후 바로 아이폰 앨범에 저장하기 func saveImage(image : UIImage) { let data = image.jpegData(compressionQuality: 0.9)! PHPhotoLibrary.requestAuthorization { [unowned self] status in if status == .authorized { PHPhotoLibrary.shared().performChanges({ let creationRequest = PHAssetCreationRequest.forAsset() creationRequest.addResource(with: .photo, data: data, options: nil) }, completionHandler: { success, error in if success { pr.. 2022. 12. 27. [권한]앨범 접근 권한 여부 확인하고 바로 후처리 @objc func pickImage(){ if albumAccess(){ chooseAlbumMethod() } else { let status = PHPhotoLibrary.authorizationStatus() if status == .notDetermined { PHPhotoLibrary.requestAuthorization{status in switch status { case .authorized, .limited : print("album access allowed") DispatchQueue.main.asyncAfter(deadline: .now() + 0.5){ self.chooseAlbumMethod() } case .denied, .restricted : print("album acc.. 2022. 12. 22. 이전 1 다음