Device
DeviceComponent은 iPhone, iPad 혹은 Android 장치를 에뮬레이션한다. 이것을 통해 콘텐츠 영역의 크기를 조절하고 가로/세로 전환 등을 할 수 있다. 장치가 설정된 후에는 모든 것이 화면내에서 렌더링이 일어난다. 장치 미리보기는 미러링된 미리보기와 일치하는데 이 말은 iPhone으로 미리보기를 설정한 경우 iPhone의 전체 화면으로 보는 것과 같은 화면을 볼 수 있다는 뜻이다.
크기 조절과 가로/세로 전환은 Framer.Device로 미리 설정할 수 있다 :
Framer.Device.contentScale = 0.5
Framer.Device.orientation = 90
밑단을 보면 장치는 수많은 layer의 집합으로 구성되어 있다. 이렇기 때문에 커스터마이징이 쉽고 동작을 추가하기도 쉽워진다. 여러분은 Github에서 전체 소스를 확인할 수 있다. 일반적인 예제는 아래와 같다 :
# blur 처리된 백그라운드 이미지 설정하기
Framer.Device.background.image = "photo.jpg"
Framer.Device.background.blur = 10
# 현재 디바이스의 스크린 크기 가져오기
print Framer.Device.screen.width # Output: 640
print Framer.Device.screen.height # Output: 480
scale-to-fit 뷰는 화면 비율을 유지하기 위해 오프 픽셀 콘텐츠를 렌더링 할 수 있다. 50%, 100% 등으로 볼 때 콘텐츠는 항상 snap-to-pixel이다. 만약 브라우저가 이 기능을 지원한다면, 이미지 사이즈를 축소하기 위해 JPEG2000으로 압축된다.
Device.deviceType <string>
렌더링할 장치의 타입을 나타내는 속성값으로 아래와 같은 가능한 옵션이 제공된다.
Fullscreen
전체 화면으로 렌더링 하기
Framer.Device.deviceType = "fullscreen"
iPhone 6
선택 가능한 iPhone 6 색상
Framer.Device.deviceType = "iphone-6-spacegray"
Framer.Device.deviceType = "iphone-6-spacegray-hand"
Framer.Device.deviceType = "iphone-6-silver"
Framer.Device.deviceType = "iphone-6-silver-hand"
Framer.Device.deviceType = "iphone-6-gold"
Framer.Device.deviceType = "iphone-6-gold-hand"
iPhone 5s
선택 가능한 iPhone 5s 색상
Framer.Device.deviceType = "iphone-5s-spacegray"
Framer.Device.deviceType = "iphone-5s-spacegray-hand"
Framer.Device.deviceType = "iphone-5s-silver"
Framer.Device.deviceType = "iphone-5s-silver-hand"
Framer.Device.deviceType = "iphone-5s-gold"
Framer.Device.deviceType = "iphone-5s-gold-hand"
iPhone 5c
선택 가능한 iPhone 5c 색상
Framer.Device.deviceType = "iphone-5c-green"
Framer.Device.deviceType = "iphone-5c-green-hand"
Framer.Device.deviceType = "iphone-5c-blue"
Framer.Device.deviceType = "iphone-5c-blue-hand"
Framer.Device.deviceType = "iphone-5c-red"
Framer.Device.deviceType = "iphone-5c-red-hand"
Framer.Device.deviceType = "iphone-5c-white"
Framer.Device.deviceType = "iphone-5c-white-hand"
Framer.Device.deviceType = "iphone-5c-yellow"
Framer.Device.deviceType = "iphone-5c-yellow-hand"
iPad Mini
선택 가능한 iPad Mini 색상
Framer.Device.deviceType = "ipad-mini-spacegrey"
Framer.Device.deviceType = "ipad-mini-spacegrey-hand"
Framer.Device.deviceType = "ipad-mini-silver"
Framer.Device.deviceType = "ipad-mini-silver-hand"
Nexus
Nexus 5와 Nexus 9은 검정 색상.
Framer.Device.deviceType = "nexus-5-black"
Framer.Device.deviceType = "nexus-5-black-hand"
Framer.Device.deviceType = "nexus-9"
Device.fullScreen <boolean>
deviceType과 무관하게 장치의 전체 화면을 그리는 것을 설정한다. true 혹은 false로 설정한다.
# Render the device in fullscreen
Framer.Device.fullScreen = true
Device.deviceScale <number / string>
장치의 scale이다. scale 값의 범위는 0.5부터 1 사이의 값이다.
Framer.Device.deviceScale = 0.5
Device.setDeviceScale(scale <number>
, animate <boolean>
)
Device.setDeviceScale(scale, animate
)
장치의 scale과 추가적인 애니메이션을 설정한다(true 혹은 false). scale 값의 범위는 0.5부터 1 사이의 값이다.
# 장치의 scale과 애니메이션 설정
Framer.Device.setDeviceScale(0.5, true)
Device.contentScale <number>
custom device를 포함한 컨텐츠의 scale이다. scale 값의 범위는 0.5부터 1 사이의 값이다.
# 컨텐츠 scale 설정
Framer.Device.contentScale = 0.5
Device.setContentScale(scale <number>
, animate <boolean>
)
컨텐츠의 scale과 추가적인 애니메이션을 설정한다(true 혹은 false). scale 값의 범위는 0.5부터 1 사이의 값이다.
# 컨텐츠 scale과 애니메이션 설정
Framer.Device.setContentScale(0.5, true)
Device.orientation <number>
장치의 방향. 방향 값으로는 0과 90을 줄 수 있다(가로와 세로 방향).
Framer.Device.orientation = 90
Device.setOrientation(scale <number>
, animate <boolean>
)
장치의 방향과 추가적인 애니메이션을 설정한다(true 혹은 false). 방향 값으로는 0과 90을 줄 수 있다(가로와 세로 방향).
# 장치의 방향과 애니메이션 설정
Framer.Device.setOrientation(90, true)
Device.orientationName <string>
이름을 직접 명시하여 장치의 방향을 설정한다. 사용할 수 있는 옵션은 "portrait"와 "landscape"이다. portrait와 landscape은 각각 장치의 방향에 대해 0과 90을 주는 것과 같은 효과이다.
# "portrait"와 "landscape" 중에 방향 설정하기
Framer.Device.orientationName = "landscape"
Framer.Device.orientationName = "portrait"
Device.rotateLeft()
장치의 화면을 왼쪽으로 회전시킨다(장치는 시계 방향으로 돈다).
Framer.Device.rotateLeft()
Device.rotateRight()
장치의 화면을 오른쪽으로 회전시킨다(장치는 반 시계 방향으로 돈다).
Framer.Device.rotateRight()