UItableView에서 가변 UITExtView 만들기

2951 단어 AutoLayoutiOS

하고 싶은 일


이런 거.

메서드

  • Storyboard에tableView의cell에textView
  • 설정

  • textView에서 Auto Layout에 대한 구속조건 설정하기
  • textView의 상하좌우 공간 제한 설정

  • textView 속성Scrolling Enabled 확인 취소

  • 셀의 높이를 자동으로 조정하도록 설정
    override func viewDidLoad() {
        super.viewDidLoad()
    
        tableView.rowHeight = UITableViewAutomaticDimension
        tableView.estimatedRowHeight = 10000
    
        // ~~~
    }
    
    여기서 힌트!estimatedRowHeight를 충분한 값으로 설정하지 않으면 textView의 크기가 화면을 초과한 상태에서 텍스트를 입력할 때 위아래로 스크롤하는 것은 연결된 동작을 의도하지 않습니다.

  • 텍스트를 입력할 때마다 textView 높이 조정
  • tableViewbeginUpdates()endUpdates()에서cell
  • 업데이트
    // MARK: - TextViewDelegate
    
    func textViewDidChange(textView: UITextView) {
        tableView.beginUpdates()
        tableView.endUpdates()
    }
    

    컨디션


    Xcode 7.1
    Swift 2.1
    iOS 8 이상 확인

    참고 자료


    http://www.howlin-interactive.com/2013/01/creating-a-self-sizing-uitextview-within-a-uitableviewcell-in-ios-6/
    http://stackoverflow.com/questions/29314535/uitableview-beginupdate-endupdate-causing-scroll-to-top

    좋은 웹페이지 즐겨찾기