ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Это почти наверняка приведет к отклонению вашего приложения из магазина приложений, поэтому вам следует убедиться, что оно отображается только на бета-версии и внутренних сборках.Если вам нужно, чтобы Apple приняла его, я бы порекомендовал реализовать UIActionSheets и UIAlerts через React Native;Есть много хороших библиотек, которые симулируют модалы.
Вам нужно будет сделать это на родной стороне.Вы можете добавить следующий код в свой AppDelegate:
var debugWindow: UIWindow?
@objc func pressButton(_ sender: UIButton) {
print("Do debugging here")
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let screenSize = UIScreen.main.bounds
let buttonController = UIViewController()
let button = UIButton(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
button.setTitle("+", for: .normal)
button.backgroundColor = UIColor.blue
button.addTarget(self, action: #selector(pressButton(_:)), for: .touchUpInside)
button.layer.cornerRadius = 25
button.layer.masksToBounds = true
buttonController.view = button
debugWindow = UIWindow.init(frame: CGRect(x: screenSize.width - 100, y: screenSize.height - 100, width: 50, height: 50))
debugWindow!.rootViewController = buttonController
debugWindow!.windowLevel = UIWindow.Level.alert + 1000;
debugWindow!.makeKeyAndVisible()
return true
}
Это создаст кнопку, которую можно будет нажимать независимо от того, какие модальности отображаются: