목록iOS - 코드블럭 아카이브 (4)
iOS 개발일지
뷰의 반은 일반 view, 나머지 반은 collectionView로 구성되어있는 화면 collectionView를 포함한 전체 화면이 스크롤되도록 해야 함 collectionView의 높이만큼 scrollView를 설정해 전체 collectionView의 모든 cell이 scrollView에서 보일 수 있도록 구현 이 때, contentView는 addSubView까지만 하고 constraints는 잡아주지 않는다. // 스크롤뷰 기본 설정 - 충분한 높이로 임의로 설정 scrollView.contentSize = CGSize(width: scrollView.frame.width, height: 1200) contentView.frame = CGRect(x: 0, y: 0, width: scrollVie..
private lazy var upGesture = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipeGesture(_:))) private lazy var downGesture = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipeGesture(_:))) private var modalViewHeightConstraint: NSLayoutConstraint? // 챗뷰 높이 제약조건을 저장할 변수 private var maxModalViewHeight: CGFloat = 0.0 // 최대 높이 저장할 변수 private var minModalViewHeight:..
extension MyViewController: UITextViewDelegate { func textViewDidChange(_ textView: UITextView) { guard let text = textView.text else { return } // 글자수 제한 let maxLength = 100 if text.count > maxLength { textView.text = String(text.prefix(maxLength)) } // 줄바꿈(들여쓰기) 제한 let maxNumberOfLines = 4 let lineBreakCharacter = "\n" let lines = text.components(separatedBy: lineBreakCharacter) var consecutiv..
// 주의! 제스쳐를 추가할 버튼마다 제스쳐를 생성해주어야 한다. // 같은 타겟과 액션을 가진 제스쳐라도 하나씩 등록하지 않으면 제대로 동작하지 않는다. let panGestureStateButton = UIPanGestureRecognizer(target: self, action: #selector(dragButton)) stateButton.addGestureRecognizer(panGestureStateButton) let panGestureCountButton = UIPanGestureRecognizer(target: self, action: #selector(dragButton)) countButton.addGestureRecognizer(panGestureCountButton) @objc f..