iOS

[iOS] Tap Gesture 이용해서 Keyboard 숨기기

Eunice99 2022. 11. 17. 16:57

https://org9899.tistory.com/76

 

[iOS] TableView를 이용한 메모장 만들기

TableView란? 아래 화면처럼 목록이 있고 그 목록을 클릭할 수 있는 구성요소를 말한다. [View구상] 1) 컴포넌트는 Label, button, Table View를 이용했고, 내부에 TableViewCell을 추가해서 구상을 했다. 메모장

org9899.tistory.com

저번에 만들어둔 메모장 앱에 버튼을 눌러서 메모를 작성할 수 있게 수정해봤다. (작성은 되는데,,,저장은 안된다,,,)

이건 시험 끝나고 다시 만드는걸로,,,

 

1) 우선 저번에 만들었던 화면에서 네비게이션 컨트롤러를 추가해 하단의 작성 버튼을 눌렀을때, 메모를 작성할 수 있는 화면으로 넘어가도록 했다.

ViewController에 아래 코드만 추가해주었다! (화면 연결)

@IBAction func writeBtn(_ sender: Any) {
        guard let viewController = self.storyboard?.instantiateViewController(withIdentifier: "SecondViewController")
        else { return }
                
        self.navigationController?.pushViewController(viewController, animated: true)
}

 

2) 텍스트 뷰를 이용해서 메모 작성할수있도록! 

 

3) 키보드 자동으로 올라오게 설정 (시뮬레이터)

원래 텍스트뷰를 터치하면 키보드가 올라오고, 다시 터치하면 키보드가 내려가게 하고 싶었는데, 원래 텍스트뷰를 터치하면 자동으로 키보드가 올라가는걸 나중에 알았다,,,

나는 분명 안올라왔었는데 ㅠㅡㅠ 시뮬레이터 키보드가 안보일땐 아래처럼 설정하면 바로 나온다,,,

https://mansu.tistory.com/entry/XCODE-%EC%8B%9C%EB%AE%AC%EB%A0%88%EC%9D%B4%ED%84%B0-%ED%82%A4%EB%B3%B4%EB%93%9C%EC%95%88%EB%B3%B4%EC%9D%BC%EB%95%8C

 

Xcode - 시뮬레이터 키보드안보일때

iOS Xcode 시뮬레이터 키보드안보일때 Simulator > I/O > Keyboard > Connect Hardwear Keyboard ⌘ + SHIFT + K

mansu.tistory.com

 

4) 키보드 숨기기 (Tap Gesture 이용)

1. Tap Gesture Recognizer 를 추가

2. UIGestureRecognizerDelegate 추가 (delegate 시켜주기)

class SecondViewController: UIViewController, UIGestureRecognizerDelegate {
}

3. gestureRecognizer 메소드를 작성

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
            self.view.endEditing(true)
            return true
}

4. tap gesture 를 추가

let tapGesture: UITapGestureRecognizer = UITapGestureRecognizer()
           tapGesture.delegate = self
                
self.view.addGestureRecognizer(tapGesture)

5. 전체코드

//
//  SecondViewController.swift
//  standard4
//
//  Created by 김민경 on 2022/11/17.
//

import UIKit

class SecondViewController: UIViewController, UIGestureRecognizerDelegate {
    
    
    @IBOutlet var tapGesture: UITapGestureRecognizer!
    
    @IBOutlet weak var textView: UITextView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let tapGesture: UITapGestureRecognizer = UITapGestureRecognizer()
           tapGesture.delegate = self
                
           self.view.addGestureRecognizer(tapGesture)
        // Do any additional setup after loading the view.
    }

    
    func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
            self.view.endEditing(true)
            return true
    }

}

 

[Tap gesture 사용 전]

 

[Tap gesture 사용 후]

 

  • 참고

https://silver-g-0114.tistory.com/43

 

[iOS/Swift] Tap Gesture Recognizer 사용해 키보드 닫기

간단하지만 정말 활용도가 높은 gesture recognizer를 사용해보자~! 1. VC 에 Tap Gesture Recognizer 를 추가한다. 2. delegate 시켜준다. class ViewController: UIViewController, UIGestureRecognizerDelegate { ... } 3. gestureRecognizer

silver-g-0114.tistory.com

https://etst.tistory.com/96

 

[iOS 앱 개발 - Swift] Gesture Recognizer

이번에 공부한 내용은 아이폰과 아이패드에서 터치로 할 수 있는 다양한 동작들을 인식시키는 방법인 Gesture Recognizer입니다. 한 손가락 터치, 두 손가락 터치, 꼬집기(핀치), 회전, 스와이프 등의

etst.tistory.com