티스토리 뷰

SwiftUI

WidgetKit - TimelineProviderContext

Zedd0202 2020. 8. 9. 15:10
반응형

 

안녕하세요 :) Zedd입니다.

WidgetKit글을 쓰다가...TimelineProviderContext만 정리해보면 좋을 것 같아 정리합니다.

 

TimelineProviderContext


이 TimelineProviderContext는 Widget이 렌더링되는 방법에 대한 세부 정보가 포함된 객체에요.

 

TimelineProviderContext에는 


isPreview

family

displaySize

environmentVariantes


이러한 프로퍼티들이 존재합니다.

 

isPreview


 

isPreview는 Widget 갤러리에 있는 Widget이 표시되는 시기를 나타내요. 

여기! 여기서 너의 Widget이 어떻게 보일건지를 보여주고 싶을 수 있겠죠.

그럴때 isPreview를 사용하면 됩니다.

 

이렇게 사용하면 됩니다. 

(⚠️저는 SimpleEntry에 title 프로퍼티를 옵셔널로 선언해놓아서 저렇게 title을 넘겼어요⚠️)

그럼 왼쪽처럼 Preview상태일 때의 화면과 실제 Widget이 사용될 때의 화면(?)을 구분 할 수 있답니다.

유용하게 사용 될 수 있겠죠?

 

family


family는 저번 시간도 배웠듯이 WidgetFamily타입입니다.

역시나 

이런식으로 사용가능합니다.

그럼

 이런식으로 나오게 됩니다!

 

displaySize


Widget의 point size입니다. 

아무튼 이런식으로 나옵니다.

근데 

https://developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/widgets

small빼고 width가 왜 1씩 줄어들어서 나오지? ㅎ 암튼 뭐 displaySize는 이런겁니다. 

 

environmentVariants


Widget이 표시될 때 설정될 수 있는 모든 environment values입니다.

그 중 몇개는

.colorScheme

.displayScale 

이런것들이 있다고 합니다. 

 

colorScheme, displayScale은 둘 다 배열이에요;

 

colorScheme

왜지........??? 음 왜 배열이지..? 그냥 저는 지금 colorScheme이 dark니까 dark만 나올줄...

 

displayScale

아무튼 그렇다는거~

반응형