본문 바로가기

Swift4

[Swift 4] 커스텀 피커뷰 Custom PickerView iOS 알람 시간을 설정해야 하는데 기본 피커뷰 사용하긴 싫고 팝업으로 띄우는 것도 귀찮을 때 사용할 간편한 커스텀 피커뷰 나는 매일 동일한 시간에 반복해서 알림을 할 것이라 날짜는 필요 없어서 빼버렸다. 여러 번 사용해왔던 거지만 역시나 매번 까먹어서 정리 차원에서 올려둔다. let picker = UIDatePicker() let toolbar = UIToolbar() func createDatePicker() { // toolbar toolbar.barTintColor = UIColor(hex: "F8F8F8") toolbar.clipsToBounds = true toolbar.sizeToFit() // done button for toolbar let flexibleSpace = UIBarButtonIt.. 더보기
[Swift 4] 간단한 내용 저장할 때 UserDefaults 설정 유저디폴트, 이 간단한 걸 매번 까먹는다. ㅡ.ㅡ let userDefault = UserDefaults.standard // 유저디폴트 셋팅 self.userDefault.set(true, forKey: "IsBuyAd") self.userDefault.removeObject(forKey: "IsBuyAd") // 유저디폴트 싱크 self.userDefault.synchronize() 더보기
[Swift 4] 노티피케이션을 이용한 간단한 날짜 변화 체크 앱을 사용 중 날짜가 변하면 노티피케이션이 감지하고 해당 작업을 실행한다. NotificationCenter.default.addObserver(self, selector: #selector(self.dayDidchange), name: NSNotification.Name.NSCalendarDayChanged, object: nil) @objc func dayDidchange() { // 날짜 변화가 있으면 실행할 코드 getToday() print("데이디드체인지:\(todayInt) :: \(year)\(month)\(day)\(weekday)") getLastLogin() } 더보기
[Realm] Realm 에서 primaryKey id 이용해서 가장 마지막 데이터 가져오기 Realm db 사용 중에 가장 최근에 생성된 마지막 데이터를 가져와야 할 때가 있는데 번번이 까먹어서 정리해둔다. if let lastDate = self.realm?.objects(PlanModel.self).max(by: { $0.id 더보기
[Swift 4] Custom Segue로 화면 전환을 가로 방향으로 하는 법 앱 제작시에 일반적인 화면 전환 방법으로는 내비게이션 컨트롤러와 세그를 이용하는 방법이 주로 사용되는데 내비게이션 컨트롤러의 경우 화면 전환은 가로 방향으로 오른쪽에서 나타나서 왼쪽으로 이동하고 세그인 경우에는 세로 방향으로 아래에서 위로 이동한다. 내비게이션 컨트롤러를 이용하지 않고 세그를 이용하면서 화면 전환 방향을 가로방식으로 하려면 커스텀 세그를 만들어 사용해야 한다. CustomSegueClass 만들기 // CustomSegueClass.swift import UIKit // RightViewController 뷰 이동 class right: UIStoryboardSegue { override func perform() { let src = self.source as UIViewControll.. 더보기
일정관리 앱에서 많이 사용하는 스트라이크 라인 설정법 일정관리 앱에서 흔히 볼 수 있는, 완료 항목에 줄을 긋는 방법 cell.planTitleLabel.text = plans![indexPath.row].title if plans![indexPath.row].check == true { cell.planCheckImage.image = UIImage(named: "ico_checkOn") cell.planTitleLabel.textColor = UIColor(hex: checkOnTextColor) let attributedString = NSMutableAttributedString(string: plans![indexPath.row].title) attributedString.addAttribute(NSAttributedStringKey.striket.. 더보기