兩次激活返回系統
在iOS設備上,用戶通過上滑手勢返回主屏時,有時可能影響遊戲的沉浸體驗。為了提升用戶體驗,我們需要在遊戲中添加Home上滑兩次激活返回系統功能。
核心代碼
objective-c
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures {
return UIRectEdgeAll;
}Unity遊戲的實現位置
1、在導出的 Xcode 工程裡,全局搜索以下關鍵字:preferredScreenEdgesDeferringSystemGestures 2、在 UnityViewControllerBase 或 UnityAppController.mm找如下代碼
objective-c
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures
{
UIRectEdge res = UIRectEdgeNone;
if (UnityGetDeferSystemGesturesTopEdge())
res |= UIRectEdgeTop;
if (UnityGetDeferSystemGesturesBottomEdge())
res |= UIRectEdgeBottom;
if (UnityGetDeferSystemGesturesLeftEdge())
res |= UIRectEdgeLeft;
if (UnityGetDeferSystemGesturesRightEdge())
res |= UIRectEdgeRight;
return res;
}3、代碼修改如下所示
objective-c
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures {
return UIRectEdgeAll;
}註: 如在項目中全局搜索不到
preferredScreenEdgesDeferringSystemGestures,則需要在遊戲的主控制器(即承載渲染視圖的UIViewController,通常是GameViewController、RootViewController或 Unity 的UnityViewControllerBase)中實現該方法。 這樣可以確保整個遊戲界面統一啟用系統邊緣手勢的 延遲觸發機制,有效降低因誤觸導致的交互中斷,提升沉浸式體驗。