我想用相机构建一个视图。就像Instagram一样,中间有一个按钮,用户可以点击,相机视图就会显示出来。我在AppDelegate
中实现了TabViewController
的代码,但什么也没有发生,没有新ViewController
的动画或演示。
下面是我的AppDelegate:
import UIKit
class AppDelegate: UIResponder, UIApplicationDelegate, UITabBarControllerDelegate {
var window: UIWindow?
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: ViewController) -> Bool {
if viewController is ViewController {
let storyboard = UIStoryboard(name: "Main.storyboard", bundle: nil)
if let controller = storyboard.instantiateViewController(withIdentifier: "cameraVC") as? ViewController {
controller.modalPresentationStyle = .fullScreen
tabBarController.present(controller, animated: true, completion: nil)
}
return false
}
return true
}
字符串
以下是我的故事板:
的数据
有什么想法吗?
2条答案
按热度按时间6rqinv9w1#
我建议为TabBarController创建一个自定义类,然后将委托分配给它。
你可以分配和检查视图控制器的
restorationIdentifier
,或者做一个类型检查。我通常使用故事板标识符作为视图控制器的恢复标识符。字符串
这里有一个你可以使用的示例:https://gist.github.com/emrekyv/3343aa40c24d7e54244dc09ba0cd95df
s71maibg2#
我试过了,它对我很有效:
为您的TabBarController创建一个Custom类,并将其分配给Storyboard中的Controller。
之后,覆盖tabBarController的didSelect并在那里编写演示代码:
字符串
希望有帮助!