기본 코드
@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
'iOS > SwiftUI' 카테고리의 다른 글
Animation (0) | 2022.08.18 |
---|---|
Alert (알림 메시지) (0) | 2022.08.10 |
SwiftUI 공식 튜토리얼 (0) | 2022.08.08 |
댓글