iOS/예제12 [iOS 예제] Drag and Drop가능한 UIView만들기 import UIKit class DraggableView: UIView { override func touchesBegan(_ touches: Set, with event: UIEvent?) { super.touchesBegan(touches, with: event) moveCenter(to: touches) } override func touchesMoved(_ touches: Set, with event: UIEvent?) { super.touchesMoved(touches, with: event) moveCenter(to: touches) } private func moveCenter(to touches: Set) { guard let position = getTouchPosition(from: .. 2021. 12. 5. [iOS 예제] InfiniteTextView 무한 스크롤 텍스트뷰 만들기 InfiniteTextView 무한 스크롤 텍스트뷰 만들기 UIScrollView와 UIStackView의 조합 import UIKit class InfiniteTextView: UIView { lazy var innerView: UIStackView = { let stackView = UIStackView() stackView.axis = .horizontal stackView.translatesAutoresizingMaskIntoConstraints = false return stackView }() lazy var scrollView: UIScrollView = { let scrollView = UIScrollView() scrollView.showsVerticalScrollIndicator = f.. 2021. 6. 17. [iOS 예제] UIPanGestureRecognizer로 BottomSheet 만들어보기 UI 구성 스크롤할 bottomSheet의 이름을 innerView라고 지음 innerView안에 touchArea인 headerView를 넣는다. (맨 위에 marker가 있는 round한 영역) 코드 // // ViewController.swift // Practice // // import UIKit class ViewController: BaseViewController { @IBOutlet weak var headerView: UIView! @IBOutlet weak var innerView: UIView! @IBOutlet weak var redView: UIView! @IBOutlet weak var greenView: UIView! @IBOutlet weak var blueView: UIV.. 2021. 5. 1. [iOS 예제] CircleProgress Shape 만들기 // // ViewController.swift // Practice // // import UIKit class ViewController: ViewController { override func viewDidLoad() { super.viewDidLoad() //배경 구분 view.backgroundColor = UIColor.lightGray //원형 밑그림 let circlePath = UIBezierPath(arcCenter: view.center, radius: 150, startAngle: 0, endAngle: .pi * 2, clockwise: true) circlePath.close() //track 형태 let trackLayer = CAShapeLayer() trackLayer.pa.. 2021. 4. 30. 이전 1 2 3 다음