본문 바로가기
iOS/SwiftUI

ActionSheet

by 황민우 2022. 8. 11.

기본 코드

@State var someBindig = fasle

.actionSheet(isPresented: $someBinding) {
  ActionSheet(title: Text, message: Text, button: [ActionSheet.Button])

}

 

- Alert와 마찬가지로 action Sheet를 표시할지 여부를 추적하는 속성을 정의해야 합니다.

- 그런 다음 actionSheet() 수정자를 사용하여 해당 속성을 모니터링하고 조건이 true가 되면 선택한 action Sheet를 표시합니다.

struct ContentView: View {
    
    @State private var showingSheet = false
    var body: some View {   
    
    }
}

- Alert와 동일하게 State 값을 false로 설정해준 뒤, ActionSheet를 작성할 수 있습니다.


코드 작성

 

취소 버튼 추가하기

 

함수를 사용하여 깔끔하게 코드 정리하기

 


Action Sheet Option

 뷰 코드 작성

- 뷰에 대한 코드를 작성했습니다.

- 함수 부분은 아직 작성하지 않은 상태이므로 신경쓰지 않으셔도 됩니다.


Action Sheet Option Enum

[Enum 작성]

- Action Sheet option 이라는 Enum을 만들어 State로 지정할 것입니다.

 

[함수 작성]

- 기능을 구현할 함수를 작성해줍니다.

 

[Switch - case 작성]

- Switch 문을 사용해 내 계정의 게시물일때와 다른 사람의 게시물에 대한 옵션을 나누어줍니다.

 

[전체 코드]

- 함수 작성을 마무리하고 body의 button action의 actionSheetOption을 .isMyPost로 작성해주고 action Sheet 수정자에 getActionSheet을 넣어줍니다.

 

[실행 화면]


내용 출처 및 참고

https://seons-dev.tistory.com/150

 

SwiftUI : ActionSheet

ActionSheet 에 대해 알아보도록 합시다. ActionSheet @State var someBindig = fasle .actionSheet(isPresented: $someBinding) { ActionSheet(title: Text, message: Text, button: [ActionSheet.Button]) } Sw..

seons-dev.tistory.com

 

'iOS > SwiftUI' 카테고리의 다른 글

Animation  (0) 2022.08.18
Alert (알림 메시지)  (0) 2022.08.10
SwiftUI 공식 튜토리얼  (0) 2022.08.08

댓글