본문 바로가기

분류 전체보기

(148)
swift] SPM 만들기 - UIImage에 module의 image 선언하기 처음에는 이미지이터럴을 사용해서 선언해야겠다는 생각을 했지만 이미지이터럴은 해당 프로젝트의 번들에 있는 이미지를 참조하기 때문에 원하는 이미지를 불러 올 수 없었다. Package.swift에서 해당 타겟에 .target( name: "StudyPlan", dependencies:[], path: "StudyPlan/Sources", resources: [.process("Resources")] ) 으로 리소스를 선언해준다. 해당 리소스 폴더안에 Assets.xcassets을 넣어준다. listEditBtn.setImage(UIImage(named: "AlarmCal_btn_cal_delete", in: .module, compatibleWith: nil), for: .normal) 이 처럼 UIImag..
swift] UIbutton의 UIimage 색상변경하기 https://stackoverflow.com/questions/27163171/change-color-of-png-in-buttons-ios Change color of png in buttons - ios I've got a set of icons that I've created that are transparent white PNGs: And what I'd like to do is be able to tint them to other colors. Such as blue, grey, etc. I've noticed that 'clicked/ta... stackoverflow.com btn.setImage(name: "testImage", for: .normal) btn.setImageTintCol..
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] 한 개의 함수로 여러 UIButton 액션 분기처리하기 @objc func clickLeftNavi(_ sender: UIButton){ if sender === button1 { } else if === button2{ } ....... switch sender { case button1: .... case button2: .... } } let button1 = { let btn = UIButton() btn.translatesAutoresizingMaskIntoConstraints = false btn.addTarget(self, action: #selector(clickLeftNavi(_:)), for: .touchUpInside) return btn }() let button2 = { let btn = UIButton() btn.translatesA..
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..