인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

아키님의 프로필 이미지
아키

작성한 질문수

SwiftUI - iOS14 퍼펙트 가이드

8 Toggle

버튼과 토글에서 State관련 문의

작성

·

204

0

안녕하세요!!
 
1. 버튼과 토글에서 State관련 문의 드립니다.
 
버튼에서는 바인딩 없이 변수를 바로 사용가능했는데
 
토글에서는 바인딩이 필요한 이유를 알고 싶습니다.
 
(결국 값을 변화시키는 건 동일하다고 생각합니다.
 
2.토글을 2개 만들고 같은 변수를 바인딩 하여 실행해보면
 
두번째 토글은 온오프시 속도가 상대적으로 느린데
 
혹시 이유가 있을까요?

답변 1

0

iOS Developer - 이정님의 프로필 이미지
iOS Developer - 이정
지식공유자

안녕하세요

 

토글은 만들때 변수값과 바인딩을 해서 연결하는 규격이라서 Binding이 가능한 State를 사용하는 것이라고 생각하시면 될 것 같습니다.

 

반대로 버튼은 변수와 바인딩으로 연결하는 규격이 없습니다.

그래서 이벤트 발생때 직접 변수에 값을 대입해서 변경되도록 작성하는 것입니다.

 

토글버튼이 느리다는 말씀은 아마 애니메이션 설정이 안들어가서 그런것 같습니다.

모든 토글에 아래처럼 binding된 값인 isOn에 animation설정을 하시면 될 것 같습니다.

   Toggle("toggle button", isOn: $isOn.animation())

 

 

 

아키님의 프로필 이미지
아키

작성한 질문수

질문하기