노란색 / 초록색이 UI button이고 scrollView - systemRed 이고 스크롤뷰안에 있는 뷰가 viewInScroll 이고 viewInScroll 안에 버튼과 달력 UI가 있다. viewInScroll의 높이가 높아지면 스크롤이 작동을 하도록 구현을 했다. 이 달력 UI를 만들면서 해당 버튼을 테스트해봤지만 버튼의 액션이 작동하지 않았다. UI를 그릴 때가 문제인가? addTarget을 잘못 선언했나? UIbutton을 lazy var 형태로 바꿔보며... 고생을 많이 했다... 이런저런 시도를 다 해봤지만 작동하지 않아 scrollView를 의심을 해봤다. 결론은 scrollView안에 존재하는 UIView인 viewInScroll의 높이, bottom제약이 걸려있지 않아 해당 버튼이 ..
let rectOfCellInTableView = self.tableView.rectForRow(at: IndexPath(row: 5, section: 0)) //5번째 셀의 좌표 값 let rectOfCellInSuperview = self.tableView.convert(rectOfCellInTableView, to: self.view) let viewPosition = CGPoint(x: rectOfCellInSuperview.origin.x, y: rectOfCellInSuperview.origin.y) 이렇게 테이블뷰의 특정 셀의 위치를 얻어 이러한 메뉴 버튼을 만들 수 있다.
var test = [1,2,3,4] let testcon = test.contains { (testData) -> Bool in return testData == 3 } testcon // true 이전에 contains을 사용해서 해당 배열크기만큼 돌면서 체크를 하는 것을 알고있었지만 해당 리턴값이 하나라도 true라면 그 값이 true로 정해지는지 몰랐다. 예시 코드에서 리턴값은 false, false, true, false 값이지만 결국 true가 하나라도 존재하기 때문에 testcon이라는 변수는 true가 된다.