EEYatHo 앱 깎는 이야기

Swift ) 뒤로가기 꾹 눌렀을 때 메뉴 (Back Button menu) - EEYatHo iOS 본문

iOS, Swift

Swift ) 뒤로가기 꾹 눌렀을 때 메뉴 (Back Button menu) - EEYatHo iOS

EEYatHo 2021. 3. 26. 10:57
반응형

iOS 14.0 부터, 뒤로가기 버튼을 꾹 누르면,

모든 이전 화면들에 한번에 이동할 수 있는 메뉴가 나옵니다.

(Back Button Menu)

 

하지만 이 기능이 시스템상 불필요 한 경우가 있기 때문에,

이 메뉴를 비활성화 해야 하는 법이 필요한데요.

 

class UIBarButtonItemNoMenu: UIBarButtonItem {
    @available(iOS 14.0, *)
    override var menu: UIMenu? {
        set {
            /* Don't set the menu here */
            /* super.menu = menu */
        }
        get {
            return super.menu
        }
    }
}

이 서브 클래싱으로 해결하였고, Back Button Menu를 비활성화 하고 싶은 곳에

해당 서브 클래스로 만든 Back Button을 넣어주었습니다.

 

extension이나 매개변수 변경으로 해결하려 했으나 방법을 찾지 못했습니다..ㅠ

 

 

+

navigationItem.backBarButtonItem.menu = nil

처음에, 이 방법으로 해결하려 했으나,

꾹 누르는 순간에 menu를 set하기 때문에 기능이 비활성화 되지 않습니다.

Comments