본문 바로가기

iOS192

[iOS Issue] UIView.animate로 view크기 조절 시 클릭 안되는 현상 아래와 같은 종류의 animation으로 크기가 늘어났다 줄어들었다 하는 expandable한 button을 만들고 있었다., Creating an Expandable Button in Swift We’re going to build a custom expandable button in Swift, like the one below: medium.com animation의 process는 버튼이 펼쳐짐 3.2초 기다림 버튼이 다시 닫힘 이다. 문제가 발생한 건 버튼이 펼쳐지고 다시 닫히기 전까지 클릭을 했을 때 펼쳐진 부분이 클릭이 안되고 밑에 있는 화면이 자꾸 클릭이 되었다. 혹시나 전체 화면에서 view 크기가 변한 걸 인식 못한 건가 싶어 viewDidLayoutSubview에 로그를 찍어 크기를 .. 2021. 3. 24.
[iOS Issue] tableView를 reload 할 때 textField의 FirstResponder가 풀리는 현상 상황 tableView의 cell 안에 textField가 있고 해당 cell을 클릭하면 textField가 활성화됨과 동시에eView의 cell 안에 textField가 있고 해당 cell을 클릭하면 textField가 활성화됨과 동시에 cell의 높이가 동적으로 변해야함 하지만 cell의 높이 변화를 위해 tableView를 reload 시키면 textField가 resignResponder 된다. 해결 reloadData 대신에 tableView.beginUpdates()와 tableView.endUpdates()를 사용 beginUpdates()와 endUpdates() 사이에서 cell의 높이를 변화시킨다. 2021. 3. 22.
[iOS Issue] UIView.animate와 viewDidLayoutSubviews() Apple Developer Documentation developer.apple.com viewController에 있는 subView가 animating을 하자 자꾸 화면이 껌뻑껌뻑거리는 현상이 발생을 했다. 도대체 어디서 사이드 이펙트가 나는가 했더니 UIView.animate가 호출되면서 subView의 layout이 바뀌자 viewDidLayoutSubViews()가 호출이 되어서 그 안에 있는 코드가 호출이 되면서 일어났던 현상이었다.... animation을 사용할 때 의도치 않은 동작이 일어난다면 viewDidLayoutSubviews()함수를 호출하고 있지 않은지 살펴보자 2021. 3. 18.
[iOS] present로 화면 이동 시 full screen으로 이동 일반적으로 present메서드로 다른 ViewController로 이동하면 위에 틈이 비어있는 형태로 이동하게 된다. 완전히 꽉찬 형태로 화면 이동을 하고 싶다면 이동하려는 ViewController 객체에 modlPresentationStyle을 지정한다. @IBAction func click(_ sender: Any) { let vc2 = ViewController2() vc2.text = "이동 완료" vc2.modalPresentationStyle = UIModalPresentationStyle.fullScreen present(vc2, animated: true, completion: nil) print(presentingViewController) } 결과 완전히 꽉찬 형태로 이동가능하다. 2021. 2. 3.