개발/아이오에스

개발/아이오에스

swift] scrollview안에서 uibutton - 액션이(touchupInside) 먹히지 않음

노란색 / 초록색이 UI button이고 scrollView - systemRed 이고 스크롤뷰안에 있는 뷰가 viewInScroll 이고 viewInScroll 안에 버튼과 달력 UI가 있다. viewInScroll의 높이가 높아지면 스크롤이 작동을 하도록 구현을 했다. 이 달력 UI를 만들면서 해당 버튼을 테스트해봤지만 버튼의 액션이 작동하지 않았다. UI를 그릴 때가 문제인가? addTarget을 잘못 선언했나? UIbutton을 lazy var 형태로 바꿔보며... 고생을 많이 했다... 이런저런 시도를 다 해봤지만 작동하지 않아 scrollView를 의심을 해봤다. 결론은 scrollView안에 존재하는 UIView인 viewInScroll의 높이, bottom제약이 걸려있지 않아 해당 버튼이 ..

개발/아이오에스

swift] 코드로 UIscrollView 구현하기

let scrollView: UIScrollView = { let sv = UIScrollView() sv.translatesAutoresizingMaskIntoConstraints = false sv.backgroundColor = .systemRed return sv }() let viewInScroll: UIView = { let uv = UIView() uv.translatesAutoresizingMaskIntoConstraints = false uv.backgroundColor = .systemBlue return uv }() //스크롤뷰와 스크롤뷰 안에 들어 갈 뷰를 선언해준다. func initLayout(){ view.addSubview(scrollView) scrollView.topAnc..

개발/아이오에스

swift] 테이블뷰의 특정 셀의 좌표값 얻기

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) 이렇게 테이블뷰의 특정 셀의 위치를 얻어 이러한 메뉴 버튼을 만들 수 있다.

개발/아이오에스

swift] KVO 사용 tableview의 높이 동적으로 할당

mCon.tableView.addObserver(self, forKeyPath: "contentSize", options: .new, context: nil) override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) { // //알림 추가/제거에 따른 테이블뷰의 높이 값 변경하기 // if keyPath == "contentSize" { if let newValue = change?[.newKey] { // print("->newValue",newValue) if let newSize = newValue..

개발/아이오에스

swift] 상황(조건)에 맞는 NSLayoutConstraint 처리

struct TransitionCst { var tableViewHeight : NSLayoutConstraint? var existListConstraitY : NSLayoutConstraint? var existListConstraitN : NSLayoutConstraint? } 스크롤뷰안에 뷰의 bottomAnchor은 스크롤의 길이를 결정 - viewInScroll.bottomAnchor mCst.existListConstraitY = mCon.tableView.bottomAnchor.constraint(equalTo: mCon.viewInScroll.bottomAnchor) mCst.existListConstraitN = mCon.emptyText.bottomAnchor.constraint(eq..

개발/아이오에스

[swift] contains

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가 된다.

dev.jake
'개발/아이오에스' 카테고리의 글 목록 (5 Page)