Web Analytics
본문으로 건너뛰기

registerWithImage

사용자 정의 이미지 뷰와 배경색으로 ScreenGuard를 활성화합니다.

이미지 로딩 및 캐싱 속도를 높이기 위해 iOS에서는 SDWebImage를, Android에서는 Glide를 사용합니다.

v2.0.0+ 요구 사항

이 함수를 사용하기 전에 반드시 initSettings()를 호출해야 합니다.

매개변수

다음 매개변수를 포함하는 JS 객체를 받습니다:

이름필수 여부타입기본값설명
source필수Object이미지 소스. 네트워크 URI 또는 로컬 에셋이 가능합니다. 지원 형식: jpg, jpeg, png, gif, bmp, webp, svg. 사용법: source: { uri: 'https://...' } 또는 source: require('./image.png')
width필수number이미지 너비
height필수number이미지 높이
defaultSource아니요Objectsource 로딩 실패 시 표시할 대체 이미지. 사용법: defaultSource: require('./fallback.png')
backgroundColor아니요string'#000000'이미지 뒤의 배경색
alignment아니요number4 (center)이미지 위치 (0-8). 정렬 값 참고
top아니요number사용자 정의 위쪽 위치
left아니요number사용자 정의 왼쪽 위치
bottom아니요number사용자 정의 아래쪽 위치
right아니요number사용자 정의 오른쪽 위치
timeAfterResume아니요number1000⚠️ v2.0.0에서 제거됨 - 대신 initSettings()를 사용하세요.

v2.0.0 마이그레이션: v1.x에서는 timeAfterResumeregisterWithImage()에 직접 전달했습니다. v2.0.0부터는 initSettings()에서 설정하세요.

alignment

위치
0topLeft
1topCenter
2topRight
3centerLeft
4center (기본값)
5centerRight
6bottomLeft
7bottomCenter
8bottomRight
참고
  • alignment 값이 0-8 범위를 벗어나거나 NaN인 경우 예외가 발생합니다.
  • alignment와 위치 매개변수(top, left, bottom, right)를 동시에 사용할 수 없습니다. alignment가 먼저 확인됩니다.
  • 사용자 정의 위치 매개변수를 사용하려면 alignment를 null로 설정하세요.

예제 코드

네트워크 이미지 사용:

import ScreenGuardModule from 'react-native-screenguard';

// 먼저 초기화 (v2.0.0+에서 필수)
await ScreenGuardModule.initSettings({
displayScreenGuardOverlay: true,
timeAfterResume: 2000,
});

// 네트워크 이미지 및 대체 이미지 사용
await ScreenGuardModule.registerWithImage({
height: 150,
width: 200,
source: {
uri: 'https://example.com/image.gif',
},
defaultSource: require('./images/fallback.png'),
backgroundColor: '#1a1a2e',
alignment: 4, // center
});

로컬 이미지 사용:

await ScreenGuardModule.registerWithImage({
height: 150,
width: 200,
source: require('./images/logo.png'),
backgroundColor: '#1a1a2e',
});

사용자 정의 위치 사용:

await ScreenGuardModule.registerWithImage({
height: 150,
width: 200,
source: require('./images/logo.png'),
backgroundColor: '#1a1a2e',
alignment: null, // 사용자 정의 위치를 사용하려면 반드시 null로 설정
top: 50,
left: 50,
});
Android 참고 사항

Android에서 initSettings()displayScreenguardOverlayAndroidfalse로 설정된 경우, registerWithImage()를 호출하면 자동으로 registerWithoutEffect()로 전환됩니다.

데모

iOS

Android