UIGraphics
·
iOS/UIKit
오늘 학습 정리할 내용은 UIGraphics를 prefix로 갖는 다양한 내용들이다. 학습정리를 할 계기는 생각보다 단순했다. 다양한 이미지들을 저장해놓고 쓰는 것이 아닌 상황에 맞게 그릴 수 있는 기술이 매우 흥미로웠다. 적절한 예인지는 모르겠지만 다양한 필터가 있는 카메라 앱도 결국에는 소스 코드로 해당 이미지를 그리는 것이라고 생각한다.  UIGraphics PrefixUIKit와 관련된 그래픽 작업을 수행하는 함수들에 사용되는 접두사이다. 한번 어떤 종류들이 있는지 살펴보자.   일단 가장 먼저 주목해야하는건 Drawing 탭에 속해 있는 것을 볼 수 있다.무언가 앞에서 설명한 것처럼 그래픽 작업 즉, 그리는 작업을 한다는 것 같다. 두번 째로는 Render , Context, Format 형태로..
UIGestureRecognizer
·
iOS/UIKit
UIGestureRecognizer1. 역할Gesture Recognizer는 터치 이벤트를 감지하고 이를 특정 제스처(탭, 핀치, 드래그, 스와이프)로 인식한 후,제스처가 인식되면 해당 동작에 연결된 액션을 호출하는 역할을한다.  2. 동작원리 일반적인 터치 이벤트는 이전에 배운 responder chian을 따라가지만 gesture recognizer는  UIKit에서 제공하는별도의 처리 흐름을 이용한다. 터치가 발생하면 UIApplication객체에서  UIWindow 객체로 tocuh 객체가 전달된다.UIWindow는 뷰 계층 구조에서 가장 적합한 뷰에 터치 이벤트를 전달 시도이 때 뷰에 연결된 모든 gesture recognizer들은 touch 이벤트를 인식할 수 있는 첫번 째 기회를 얻는다...
frame vs bounds (4) [ 사용 용도 ]
·
iOS/UIKit
이번 학습은 frame과 bounds의 마지막시간인 도대체 언제 쓰면되는지 를 학습해보자. frame 앞의 학습 내용으로 정리하면 frame의 origin(위치)는 superview 좌표계를 기준으로 한 view의 원점이고 size(크기)는 view 영역을 모두 감싸는 사각형의 크기이다. 그렇다면 이런 성질들은 어디에 쓰일까 ?? View의 위치와 크기를 설정할 때 사용한다. 단순히 View를 생성하는데 사용된다.  let myView: UIView = .init(frame: ...)  bounds앞의 학습 내용으로 정리하면 bounds의 origin(위치)는 자신의 좌표계를 나타내며size(크기)는 View 영역 자체의 size이다. 오직 자신에게만 집중할 수 있어 사용되는 곳이 frame보다는 다양한..
frame vs bounds (3) [origin, viewport ]
·
iOS/UIKit
이번에는 이전 포스팅에 배웠던 frame.origin과 bounds.origin을 실질적으로 옮겨보며 차이점을 조금 더  명확히 해보는 시간을 가져보자. 나의 똥손으로 시각자료를 만들려고 했지만.. 너무 좋은 자료가 있어서 이번 포스팅부터는 iOS 쪽 파워블로거 개발자 소들이님의 시각 자료를 이용해서 정리하는 것을 양해바란다. 🙏 1. frame origin을 변경할 경우 secondView의 frame.origin 값을 (20, 20) -> (50, 50)으로 변경해보자.  여기서 secondView는 입력한 대로 잘 이동 된 것을 볼 수 있다.이 때 특이한 점은 thirdView 역시 이동한 것이다. 왜 이런 결과가 나올까? 이유는 이전 포스팅에서 배운 frame.orgin의 특성 때문이다.fram..
frame vs bounds (2) [ 정의, 기준점, 크기 계산 방식]
·
iOS/UIKit
extension UIView { open var frame: CGRect open var bounds: CGRect...} frame과 bounds는 이전 시간에 학습했던 CGRect 타입, 즉 좌표와 크기를 모두 갖고잇는 정보이다. 타입이 같다는건 공통점이 있다는 것이고, 저장하는 변수의 이름이 다르다는 것은 차이점이 있다는 느낌이 온다. 이번 시간에는 가장 대표적인 공통점과 차이점을 한번 알아보자. frame정의The Frame rectangle, which describes the view's location and size in its superview's coordinate system 프레임은 super view 좌표계 기준으로 현재 View의 위치와 크기를 나타내는 것 여기서 s..
frame vs bounds (1) [ CGPoint, CGSize, CGRect ]
·
iOS/UIKit
이번 학습부터는 많이 헷갈리는 주제인 Frame과 bounds관련에서 시작해보자. 먼저 Frame과 bounds를 들어가기 전에 선행해서 학습하면 좋을 개념들을 학습해보자.  1. CGPoint public struct CGPoint { public init() public init(x: Double, y: Double) public var x: Double public var y: Double}  View의 위치를 나타날 때 사용하는 좌표 값을 타나내는 정보이다.x와 y 값은 Double로 되어있고 기준은 왼쪽 위가 된다.      2. CGSizepublic struct CGSize { public init() public init(width: Double, heigh..