본문 바로가기
728x90

iOS/iOS78

Core Data 앱에서 데이터를 관리하는데 사용하는 프레임워크로 userDefault와 달리 좀 더 복잡한 데이터를 저장하는데 사용한다. 얼핏 DB라고 생각할 수 있으나 DB가 아니다. CoreData는 앱이 설치된 해당 기기에서 저장된 데이터를 사용하므로 앱이 삭제되면 데이터도 삭제 되지만, DB는 데이터를 관리하는 시스템으로 여러 사용자나 응용프로그램과 공유 및 동시 접근이 가능하다. *raywenderlich의 Core Data 공부 내용을 바탕으로 작성되었습니다.* - 기본적으로, 코어데이터는 SQLite database를 영구적인 저장소로 사용한다. - Xcode에서 프로젝트를 생성할 때 'Use Core Data' 박스를 체크하면 AppDelegate.swift에서 `NSPersistentContainer` .. 2023. 1. 4.
UIViewController PopUp 위와 같은 팝업을 만들어 볼거에요(with. storyBoard) 1. viewController 'Attribute Inspector'에서 Transition Style은 Cross Dissolve Presentation은 Over Full Screen으로 설정해줍니다. 2. 'Identity Inspector'에서 class를 연결시켜주고 storyboardID를 설정해줍니다. 저는 "pop"으로 해볼게요 3. ViewController에 전체를 덮는 뷰를 올려줍니다.(뒤에 까만뷰가 될거에요) 4. 그리고 팝업 내용이 있을 뷰를 원하는 위치에 올려줍니다(여기선 밑에서 위로 올라오는 하얀뷰가 됩니다) 5. 햐얀뷰의 제약중 bottom에 대해서만 밑으로 안보이게 내려줍니다 하얀뷰의 현재 높이가 200이라.. 2022. 12. 21.
UITableView tableView Cell 거꾸로 그리기 테이블뷰를 뒤집으면 간단하다. // ViewDidLoad에 추가 테이블뷰.transform = CGAffineTransform(rotationAngle: -(CGFloat)(Double.pi)) // cellForRowAtIndexPath에 cell return 전에 셀.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi)) 참고 : https://stackoverflow.com/questions/43480887/load-tableview-from-bottom-scroll-up-reverse-tableview-ios 사용자 터치로 순서 변경 테이블의 셀은 사용자에 의해 편집 될 수 있다. 테이블뷰명.is.. 2022. 12. 19.
UIDatePicker Mode가 Time일 때, 원하는 시간으로 먼저 보이도록 설정하기 알람 앱 처럼 내가 설정한 시간을 편집하려할 때 picker의 시간이 설정했던 시간으로 먼저 보이도록... NSDateComponents를 사용하여 변경해줄 수 있다! swift var calendar:NSCalendar = NSCalendar.currentCalendar() let components = calendar.components(NSCalendarUnit.HourCalendarUnit | NSCalendarUnit.MinuteCalendarUnit, fromDate: NSDate()) components.hour = 5 components.minute = 50 datePicker.setDate(calendar.dateFromC.. 2022. 12. 8.
UITextField 자동입력 문자 인증 시 키보드 위에 인증번호가 뜨고 눌렀을 때 입력창에 바로 입력이 되는 기능 TextField 창의 content type 을 One TIme Code로 설정만 하면 끝 간단하게 테스트 하는 방법은 인증을 받을 핸드폰으로 다른 핸드폰에서 문자를 전송해보면 된다 단, 문자의 내용은 반드시 "인증번호 + (, : 는)등의 조사 + 0000" 와 같은 형식이어야 한다 참고 : https://swieeft.github.io/2020/08/13/MobileAuthNumberAutomaticCompletion.html TextField 휴대폰 인증번호 자동완성 기능 구현하기 - 뀔뀔(swieeft)의 개발새발기 안녕하세요. 오늘은 간단한 포스팅이 될 것 같은데요. iOS 12부터는 문자인증을 받을.. 2022. 11. 28.
UIView에 shadow 넣기 myView.layer.borderColor = UIColor.blackColor.CGColor; // 옵션 myView.layer.borderWidth = 1; // 옵션 myView.layer.cornerRadius = 12; // 뷰 radius [myView.layer setMasksToBounds:NO]; // 뷰 bounds mask 설정 [myView.layer setShadowColor:UIColor.blackColor.CGColor]; // 그림자 색상 [myView.layer setShadowOffset:CGSizeMake(0, 5)]; // 그림자 사이즈 [myView.layer setShadowOpacity:0.16];// 그림자 색상 투명도 [myView.layer setShado.. 2022. 11. 23.
UIBezierPath 도형을 직접 만들어야 한다면 베지어 곡선 (BezierPath)를 이용할 수 있다. 베지에 곡선이란 n개의 점으로 만들어지는 직선 및 곡선을 말한다. 이 곡선을 이용하면 원하는 형태의 도형을 쉽게 그려낼 수 있다. 애플에서 제공되는 UIBezierPath를 이용한다. 가운데 뚫린 뷰 import UIKit class MakePath: UIView { override func draw(_ rect: CGRect) { let path = UIBezierPath() path.lineWidth = 1 path.lineJoinStyle = .bevel path.usesEvenOddFillRule = true path.move(to: CGPoint(x: 0, y: 0)) path.addLine(to: CGPoint.. 2022. 11. 8.
UICollectionView 원하는 위치로 스크롤 시키기 NSIndexPath *indexPath = [NSIndexPath indexPathForItem:원하는indexnumber inSection:0]; [_myCollectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionNone animated:YES]; 만약, 스크롤이 안된다면 'paging Enabled' 가 체크 해제 되어 있는지 확인 해보자. cell size 1. 셀사이즈 값을 임의로 넣어보아 확인 2. +1 3. 셀사이즈 미적용 해보기 4. UI그려지는 순서 확인 -> 컬렋ㄴ뷰 슈퍼가 그려지는 순서 확인 테이블뷰셀 안에 컬렉션뷰셀 넣기 참고 : https:/.. 2022. 11. 4.
DateFormatter 한국에 맞게 원하는 format으로 날짜 만들기 NSString * StringDate = @"2022-11-05"; NSDateFormatter * dateFormatter = [NSDateFormatter new]; [dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"ko_KR"]]; string으로 되어 있는 날짜 형식에 맞게 format을 맞춘다 [dateFormatter setDateFormat:@"yyyy-MM-dd"]; NSDate * date = [dateFormatter dateFromString: stringDate]; // 2022-11-05 00:00 이 'date'를 원하는 형식의 format으로 만들어 준다.. 2022. 11. 3.