본문 바로가기

분류 전체보기

(53)
UITextView @MainActor class UITextView : UIScrollView - ScrollView를 상속받음 - TextField와 Label의 특성을 합친 느낌! -> Text편집이 가능하며, 여러 줄로 표시될 수 있음 - attributedText 적용 가능 -> attributedText로 Font, Text Color, Text Alignment 속성 설정 가능 - Text 편집이 가능하기 때문에 Keyboard Notification을 통해 관리가 필요 -> Notification안에 Keyboard Size를 포함한 정보들이 있어서 이를 가지고 Repositioning, Resizing View가 가능 keyboardWillShowNotification keyboardDidShowNotifi..
Frame / Bounds Frame superview의 좌표계에서 뷰 자신의 위치와 크기를 나타냄 superview를 기준으로 자신의 origin과 자신을 감싸는 사각형의 size를 나타냄. 회전하게 되면 자신을 감싸는 사각형을 기준으로 size를 나타냄. Bounds superView와 상관없이 View의 위치, 크기를 자체 좌표계에서 표현하는 사각형 기본값은 (0,0), 크기는 프레임의 사각형과 동일 -> 뷰를 그리면 (0,0)이 지정됨 회전과 상관 없이 자기 자신의 size를 나타냄 크기 조정 시 option누르고 조정하는 것과 동일방식 → 사각형 중심점 기준으로 변화 bounds.origin이 바뀌게 되면 자신이 움직이고 frame.origin은 바뀌지 않기 때문에 subview가 움직인다 애니메이션 효과도 줄 수 있다 ..
animateKeyframes / addKeyframe 실습 예시 코드 1) /* 레이아웃이 결정되고 나서 아래와 같은 일을 수행하고자 할 때 이 메서드를 override하여 사용 다른 뷰들의 컨텐트 업데이트 뷰들의 크기나 위치를 최종적으로 조정 테이블의 데이터를 reload */ override func viewDidLayoutSubviews() { let viewAnimated = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) viewAnimated.center = view.center view.addSubview(viewAnimated) keyFrameAnimate(for: viewAnimated) } func keyFrameAnimate(for viewToAnimate: UIView) { let o..
Animate Method Animate View UIView 클래스 중 다음 속성들은 애니메이션 효과를 줄 수 있음 frame bounds center transform Rotate : 객체 회전 Scale : 객체 크기 조정 Translate : 객체 변환 Skew : 객체 기울이기 alpha backgroundColor Timing Function 애니메이션의 간격 동안 속성 값의 변화 속도를 제어하는 데 사용 Ease-In (가속): 이 함수는 애니메이션이 시작할 때 느리게 시작하고, 시간이 흐를수록 가속하는 형태를 가짐. 오브젝트가 처음에 움직이기를 더 어렵게 만들며, 점차적으로 빨라짐. Ease-Out (감속): 이 함수는 애니메이션이 빠르게 시작하고, 시간이 흐를수록 감속하는 형태를 가짐. 오브젝트가 처음에 움직이기를..
Touch Event Touch Event 이벤트 메소드를 앱 전역에서 재사용 가능하게 Gesture Recognizer에 캡슐화 UIKit Touch Event는 내부적으로 자동 구현되어있다 하지만 Custom View를 사용 시 모든 Touch Event는 처리해줘야함 방법 1. Gesture Recognizer 사용 방법 2. UIView 하위 클래스에서 직접 터치 추적 아래의 메소드로 사용 가능 touchCanceled - 시스템에서 진행 중인 터치를 중단(ex. 전화 온 경우) / 지정한 Gesture가 동작이 끝난 경우에도뜬다 터치 하나가 하나의 UITouch 객체 손가락이 2개가 터치가 되어도 default는 하나 → isMultipleTouchEnabled = true로 추가 터치를 받을 수 있다

728x90