본문 바로가기
300x250

전체 글244

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.
NSDictionary // 방법 1 NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil]; // 방법 2 NSDictionary *dictionary = @{@"key", @"value"}; dictionary 배열에서 원하는 key의 value 개수 필터링 list : [ { "age" : 3, "grade" : "A" }, { "age" : 32, "grade" : "B" }, { "age" : 14, "grade" : "C" }, { "age" : 6, "grade" : "A" } ] 위와 같은 형식의 배열이라고 해보자, grade별 value counting하여 원하는 결과는 다.. 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.
NSArray double 타입의 배열 만들기 NSMutableArray *doubleArr = [[NSMutableArray alloc] initWithCapacity:0]; [doubleArr addObject:[NSNumber numberWithDouble:23.1234]]; 포함 값 찾기 // 방법1 if (배열 containsObject:찾으려는값) { // code } // 방법2 // 이 방법은 json데이터의 배열안에있는 객체에서 값을 찾을 때 사용 // predicateWithFormat: 어떤 값을 찾을지에 따라 달라진다. NSPredicate * predicate = [NSPredicate predicateWithFormat:@"키 IN %@", 찾으려는값]; NSArray * resultArray.. 2022. 11. 2.
UIPickerView pickerview 항목 2개 이상 만들기 NSMutableArray * yearArr; NSMutableArray * monthArr; // 열 개수 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { return 2; } // 열 데이터 갯수 - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { if (component == 0) { return [yearArr count]; } else { return [monthArr count]; } } // 행 높이 - (CGFloat)pickerView:(UIP.. 2022. 11. 2.
NSMutableArray 중복 제거 NSMutableArray *_userIds = [NSMutableArray new]; for( NSInteger i = 0; i < 3; i++ ) { [_userIds insertObject:@"aaaaaaaaaa" atIndex:i]; } NSOrderedSet *userSet = [[NSOrderedSet alloc] initWithArray:_userIds]; _userIds = [[NSMutableArray alloc] initWithArray:[userSet array]]; 출처 : https://mrkn.tistory.com/337 2022. 11. 2.
navigation stack에서 특정 VC 삭제 NSMutableArray *navigationArray = [[NSMutableArray alloc] initWithArray: self.navigationController.viewControllers]; for (int i = 0; i < [navigationArray count]; i++) { if ([[navigationArray objectAtIndex:i] isKindOfClass:[지우려는VC class]]) { [navigationArray removeObjectAtIndex: [navigationArray count] - ([navigationArray count] - i)]; } } self.navigationController.viewControllers = navigationArr.. 2022. 11. 2.
300x250