iOS 카테고리 예제 - (UIColor 확장하기)
상속 : 상속은 슈퍼 클래스의 변수와 메소드(기능)을 서브클래스가 다 가지면서도, 슈퍼클래스에 없는 기능을 서브클래스가 추가할 수 있다. 즉, 위에서 아래로 확장이라고 할 수 있다.
카테고리 : 이미 있는 클래스에 기능을 더 추가한다. 상속보다 사용하기가 편하다. 필요한 기능만 카테고리를 이용해서 만들면 된다.
UIColor 확장 예제
UIColor에 THAdditions 라는 카테고리를 만들 것이다.
@interface UIColor (카테고리 이름)
UIColor+THAdditions.h
//UIColor 의 카테고리 추가
@interface UIColor (THAdditions)
//다크 칼러
- (UIColor *)darkerColor;
//라이트 컬러
- (UIColor *)lighterColor;
@end
UIColor+THAdditions.m
#import "UIColor+THAdditions.h"
@implementation UIColor (THAdditions)
//커스텀 UIColor 리턴
- (UIColor *)lighterColor {
//색상 , 채도, 밝기, 알파
CGFloat hue, saturation, brightness, alpha;
if ([self getHue:&hue saturation:&saturation brightness:&brightness alpha:&alpha]) {
//색생값, 채도, 밝기, 알파값
return [UIColor colorWithHue:hue saturation:saturation brightness:MIN(brightness * 1.3, 1.0) alpha:0.5];
}
return nil;
}
- (UIColor *)darkerColor {
CGFloat hue, saturation, brightness, alpha;
if ([self getHue:&hue saturation:&saturation brightness:&brightness alpha:&alpha]) {
return [UIColor colorWithHue:hue saturation:saturation brightness:brightness * 0.92 alpha:alpha];
}
return nil;
}
@end
사용하기
클래스...
선언부
@property (strong, nonatomic) UIColor *lightColor;
구현부
....
....
UIColor *strokeColor = [self.lightColor darkerColor];
objectieve c 카테고리
https://soooprmx.com/archives/2436
UIColor 확장
'아이폰 개발 > ios 개념&튜토리얼' 카테고리의 다른 글
iOS UIBezierPath 예제 - 그림 그리기 (0) | 2021.02.22 |
---|---|
CGContextRef 예제 - 그림 그리기 (0) | 2021.02.22 |
iOS AVPlayer 영상 재생 예제 (1) | 2021.02.18 |
iOS CLLocation 위도경도, 속도, 이동거리 구하기 (0) | 2021.02.18 |
iOS 애플 중간 인증서 (0) | 2021.02.18 |