기록 91

[공부기록]100일_10일차

1. Life버킷리스트 수정 및 기록 버리려고했던 PlusBucketVC를 재활용했다!!!!! 텍스트필드에는 DetailLifeVC에서 추가한 버킷리스트를 텍스트로 넣어주었고, 텍스트뷰에는 기본값으로 "버킷리스트 달성하셨나요? 그렇다면 기록해주세요~"을 넣어주었다!! 수정을한후 완료버튼을 누르면 해당 LifeBucket의 want와 content로 저장된다. @IBAction func save(_ sender: Any) { if let content = aboutContent?.text{ if let want = bucketList.text{ let editBucket=DetailLifeBucket(want: want ,content:content) LifeBucket[cellNum][detailCell..

[공부기록]100일_9일차

1. bool값을 기준으로 sort 정말 바보같은 짓을 했었다!! bool값으로 sort하고 싶었던 나는 hashValue라는 것을 사용했다.. 왜그랬을까,,ㅋㅋㅋㅋㅋ다시생각해도 왜??자료구조시간에 배웠던 hash만 떠올려도 뭔가 이상했음을 느꼈어야 했다!! 그래서 값이 랜덤으로 나와 정렬이 제대로되지 않았다,,(소영언니 고마엉~~~:) https://medium.com/@flxschmidt/sort-an-array-of-objects-depending-on-a-boolean-property-in-swift-544150965f14 Sort an array of objects depending on a boolean property, in Swift Often you have to sort an array..

[공부기록]100일_8일차

1. Life Bucket Model class DetailLifeBucket{ var want:String var content:String init(want:String, content:String){ self.want=want self.content=content } } var LifeBucket : [[DetailLifeBucket]] = [[DetailLifeBucket(want: "여행",content: "dd")],[DetailLifeBucket(want: "취미/문화",content: "dd")],[DetailLifeBucket(want: "자기계발",content: "dd")],[DetailLifeBucket(want: "소비/저축/기부",content: "dd")],[DetailLife..

[공부기록]100일_7일차

SecondVC를 select하였을 때, DetailLifeVC로 push하여도 화면이 뜨지 않았다ㅠㅠ 혹시 커스텀 탭바의 문제일까라는 생각으로 계층 구조를 눈으로 확인해보니 TabVC가 가장 위에 올라와있었다. TabVC코드에서도 해당 뷰를 bringSubViewToFront로 가져왔다ㅠㅠ 우선은 네비게이션컨트롤러를 포기하고, 셀을 선택하였을때 modalPresentationStyle을 fullScreen으로 설정해주어 나타내주었다. 내일은 modalPresentaionStyle 더 공부하고, 나머지뷰 구성하기!!

[공부기록]100일_6일차

1. 모달 presentation 바꾸기 PlusBucketVC를 Full Screen으로 띄워야 viewWillAppear을 거쳐 테이블뷰를 reload할 수 있었다. Full Screen이 아닌 iOS 13의 기본 page sheet형태로 모달을 띄웠을 때도 테이블뷰를 reload할 수 있도록 수정하였다. 우선 PlusBucketVC에서 Notification의 식별자를 선언해주었다. extension PlusBucketViewController{ static let newBucketInsert=Notification.Name(rawValue: "newBucketInsert") } save함수에서 post로 노티피케이션센터에 발송! NotificationCenter.default.post(name: ..

[공부기록]100일_4일차

탭바의 위치를 상단으로 수정하였다. 스토리보드에서 위치를 변경시키면 스크롤을 한 후에 다시 하단으로 되돌아간다. 이를 수정하기 위해서는 hideHeader함수와 showHeader함수를 수정해야했다. y 값을 변경해줌으로써 탭바가 사라지고 다시 등장한다. showHeader함수가 실행되면 탭바의 위치는 스크롤 하기 전의 위치로 돌아가야한다. 스토리보드 상에서 탭바의 constraints가 Safe Area.top+30이었기 때문에 showHeader함수에서 y값을 self.view.safeAreaInsets.top+30을 넣어주었다. func hideHeader() { UIView.animate(withDuration: 0.3, delay: 0, animations: { self.tabView.frame..

[공부기록]100일_3일차

오늘 하려던 Life뷰 구성이 아닌!! 2020에서 체크버튼을 눌렀을 때, 순서 변경을 구현하였다. 체크버튼을 클릭한 경우(iDidIt 값이 false일 때) 해당 셀은 제일 밑으로 내려가게 되고, 체크버튼을 클릭한 경우(iDidIt 값이 true일 때) 해당 셀은 제일 밑으로 내려가게 된다. @objc func accessoryButtonTapped(sender : UIButton){ //신규체크? if TYBucket.dummyTYB[sender.tag].iDidIt == false{ TYBucket.dummyTYB[sender.tag].iDidIt = true //순서변경 let tmp=TYBucket.dummyTYB[sender.tag] TYBucket.dummyTYB.remove(at: send..

[공부기록]100일_2일차

1. 밀어서 셀 삭제하기 func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { if editingStyle == .delete{ TYBucket.dummyTYB.remove(at: indexPath.row) tableView.deleteRows(at: [indexPath], with: .bottom) print(TYBucket.dummyTYB.endIndex) } } 생각보다 너무나 간단하게 끝났다!! 셀을 밀어서 삭제하는 경우, TYBucket의 dummyTYB에서 해당 인덱스의 데이터를 사용한 후 테이블 뷰의 해당 indexPath ..

반응형