728x90
일주일을 일요일 마다 세는 성격이라
일요일이 항상 힘들었는데
오늘 느낀 감정은
주말에 잠으로 풀충전해서 그런지
월요병 보다는 월요통이다..
오늘도 달려보자
TabelView 상에서 Switch 구현
Storyboard에서 구현하면 되는거 아니야?
구현하려다 안됐다
-> 나중에 안 사실이지만 style을 custom으로 바꾸면 됐다
역시 거의 다 구현하구나 storyboard...
storyboard 구현이 안되길래 코드에 구현해보았다
storyboard상에서의 완성된 화면이다 (tableView는 다 배운 후 2~3번 정도 걸쳐 포스팅 할 예정이다)
2번째 섹션에만 Switch를 구현하고 싶다
어떻게 해야할까?
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "AttensionMode")!
if indexPath.section == 0 {
cell.textLabel?.text = modeArray[indexPath.row]
cell.textLabel?.textColor = .white
cell.textLabel?.font = .systemFont(ofSize: 15)
}
//스위치가 들어갈 섹션 1번
else if indexPath.section == 1 {
cell.textLabel?.text = shareArray[indexPath.row]
cell.textLabel?.textColor = .white
cell.textLabel?.font = .systemFont(ofSize: 15)
//UISwitch 호출
let switchView = UISwitch(frame: .zero)
// switch 초기화면 버튼이 누르지 않은 채로
switchView.setOn(false, animated: true)
//swtichView tag 지정
switchView.tag = indexPath.row
//switchView addTarget 지정
switchView.addTarget(self, action: #selector(self.switchDidChange(_:)), for: .valueChanged)
//cell accessoryView를 switchView로 지정
cell.accessoryView = switchView
}
return cell
}
//switch 버튼을 눌렀을 때 상태가 바뀔때마다 터미널에서 확인 작업
@objc func switchDidChange(_ sender: UISwitch) {
print("sender is \(sender.tag)")
}
섹션 1번에만 Switch를 주었다 if 구문 밖에 설정할 경우 섹션 0번과 1번에 있는 모든 셀에 switch 기능이 추가된다
+ 추가
Storyboard에서는 style을 Custom으로 변경 후에 Library에서 Switch를 넣고 싶은 섹션에 추가 해주자
'Tech > iOS' 카테고리의 다른 글
[iOS] Day 16 - TableView(2) (0) | 2022.07.19 |
---|---|
[iOS] Day 16 - TableView(1) (0) | 2022.07.19 |
[iOS] Day 14 - Extension (0) | 2022.07.17 |
[iOS] Day13 - ViewController 생명주기 (0) | 2022.07.16 |
[iOS] Day 12 - UserDefaults (0) | 2022.07.15 |