KWiOS
KWiOS0101
KWiOS
  • 분류 전체보기 (108)
    • Algorithm (41)
      • 이코테 (14)
      • 이코테 문제풀이 (21)
      • 프로그래머스 (6)
    • CS (1)
      • 모두를 위한 컴퓨터 과학(CS50 2019) (0)
    • iOS (15)
    • Swift (36)
      • Swift문법 (32)
      • 기타 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 6

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
KWiOS

KWiOS0101

iOS

iOS - 커스텀뷰를 테이블뷰와 비슷하게 사용하기

2023. 7. 11. 23:14

위와 같이 스크롤뷰 내부에서 참여 멤버 수에 따라 스크롤뷰의 높이가 늘어났다 줄었다 동적으로 동작하게 구현을 해야하는 상황에서 

스크롤뷰에 테이블뷰를 넣어 구현하게 된다면 좋은 구현 방법이 아니기 떄문에 다른 방법을 찾아 보았다. 

 

그 대안으로 스크롤뷰 내부에서 테이블뷰를 사용하지 않고 커스텀뷰와 스택뷰를 사용하여 멤버를 추가하거나 삭제할 경우 자동으로 스크롤뷰의 전체 높이가 동적으로 변경되도록 구현하였다. 

 

구현 방법

1. 커스텀 뷰 클래스 생성

class MemberInfoView: UIView {

	override init(frame: CGRect) {
        super.init(frame: frame)
        setup()
    }
    
    required init?(coder: NSCoder) {
        super.init(coder: coder)
        setup()
    }
    
     func setup() {
       // 레이아웃 코드 추가 ...
    }
}

 

2. 멤버 수 만큼 스택뷰 내부에 커스텀뷰 추가 

func insertMemberViewsInStackView() {
	for i in 0 ..< (viewModel?.members.value.count ?? 0) {
		let view = MemberInfoView()
		view.nameLabel.text = viewModel?.studyMembers.value[i].name ?? ""
		view.editButton.addTarget(self, action: #selector(tapEditMemberButton(_:)), for: .touchUpInside)
		view.editButton.tag = i
		memberInfoStackView.addArrangedSubview(view)
	}
}

 

 

'iOS' 카테고리의 다른 글

iOS - 공유하기 기능  (0) 2023.08.06
iOS - StackView에서 Subview 제거할때 주의점  (0) 2023.07.24
iOS - 텍스트의 특정 부분만 Bold 처리하기  (0) 2023.06.11
NavigationController 사용시 status Bar Style 바꾸기  (0) 2022.12.15
navigationBar + scrollView를 함께 사용할때 top 여백 없애는 방법  (2) 2022.12.01
    'iOS' 카테고리의 다른 글
    • iOS - 공유하기 기능
    • iOS - StackView에서 Subview 제거할때 주의점
    • iOS - 텍스트의 특정 부분만 Bold 처리하기
    • NavigationController 사용시 status Bar Style 바꾸기
    KWiOS
    KWiOS

    티스토리툴바