빌드 세팅
Player Setting > Android > Resolution and Presentation 내부 설정 확인- Render outside safe area의 항목이 체크되어 있는지 확인(기본값은 OFF)
Screen.safeArea
SafeArea API(Unity 2017.2p3 이상)는 실행되고 있는 디바이스의 SafeArea 즉, 안전한 영역의 크기를 Rect 타입으로 반환하며, 이를 이용해 UI의 Rect와 Anchor의 조절이 필요
using UnityEngine;
public class SafeArea : MonoBehaviour
{
RectTransform Panel;
Rect LastSafeArea = new Rect(0, 0, 0, 0);
public Text message;
void Awake()
{
Panel = GetComponent();
Refresh();
}
void Update()
{
Refresh();
}
void Refresh()
{
Rect safeArea = GetSafeArea();
if (safeArea != LastSafeArea)
ApplySafeArea(safeArea);
}
Rect GetSafeArea()
{
return Screen.safeArea;
}
void ApplySafeArea(Rect r)
{
LastSafeArea = r;
Vector2 anchorMin = r.position;
Vector2 anchorMax = r.position + r.size;
anchorMin.x /= Screen.width;
anchorMin.y /= Screen.height;
anchorMax.x /= Screen.width;
anchorMax.y /= Screen.height;
Panel.anchorMin = anchorMin;
Panel.anchorMax = anchorMax;
}
}
출처 : stackoverflow | unity-to-ios-notch-and-safe-are-problems