草庐IT

Level1Controller

全部标签

ios - View Controller 中的依赖注入(inject)

有人可以解释一下ViewController中的依赖注入(inject),我们如何摆脱可选值?我已经阅读了很多关于它的文章,但不太清楚。将数据从一个VC传递到另一个VC是一种好方法吗?classSecondVC:UIViewController{varnumber:[String]?overridefuncviewDidLoad(){super.viewDidLoad()self.printNumbers()}funcprintNumbers(){guardletnumber=self.numberelse{return}print(number)}}//+++++++InFirstV

ios - 可以在 Xcode Simulator 中进行直接但独立的 View Controller UI 测试吗?

是否可以使用Xcode模拟器运行UI测试,例如,通过从XCTestCase手动启动ViewController?我熟悉在Swift中通过NSProcessInfo(或ProcessInfo)配置测试环境,但在某些情况下,仅显示它确实更容易单个ViewController并在其上运行一系列手势...与在特定条件下导航到它相对。虽然我可以创建另一个目标来执行此操作,然后为此进行UI测试,但我想知道是否有更简单的方法。 最佳答案 您不能在XCTestCase类中手动初始化UIViewController(或任何其他UIKit类)并在其上运

ios - UISearchBar 不应关闭导航 Controller

我正在构建一个iOS应用程序,通过从另一个ViewController[1]执行以下转换,我得到了一个带有UISearchController[2]的UITableViewController:letsearch=UITableViewController()letnav=UINavigationController(rootViewController:search)self.present(nav,animated:true,completion:nil)但是,当我按下[2]中的“取消”按钮时,应用程序会弹出整个导航Controller并返回查看[1]!我如何让它取消搜索而不是弹出

iOS:包裹在导航 Controller 中时将数据传递给模态 VC

我有一个VC,我将以模态方式呈现,但是该VC包装在UINavigationController中。为了展示连接到我的VC的导航Controller,我在Storyboard中添加了一个标识符,如下所示:ifletnvc=self.storyboard?.instantiateViewController(withIdentifier:"EditTaskNavController"){self.present(nvc,animated:true){success(true)}}这很好。当我尝试将数据传递给我的VC时,问题就出现了。因为nvc是导航Controller,所以我尝试使用nvc

ios - 当 AdMob 中的 GADRewardBasedVideoAd 关闭时,选项卡 Controller 也会关闭

我有一个带有GADRewardBasedVideoAd的ViewController。我可以轻松播放和关闭广告,但随着广告关闭ViewController也是如此。我能做什么?@IBActionfuncad_button_click(_sender:Any){ifGADRewardBasedVideoAd.sharedInstance().isReady==true{GADRewardBasedVideoAd.sharedInstance().present(fromRootViewController:self)}} 最佳答案 对

ios - 在框架中查看 Controller 生命周期方法回调?

我正在开发一个框架项目,我需要在呈现ViewController时进行回调。在安卓中我们有Application.ActivityLifecycleCallbacks实现相同。我试图在iOS中实现相同的目的,但在互联网上花费超过24小时后我找不到任何方法。如果有人做过,请帮助我。谢谢 最佳答案 我认为实现您的目标的侵入性最小的方法是创建一个ViewController子类,在生命周期的每个步骤中发布一个NSNotification,然后将其子类化到您应用的ViewController中。

ios - Swift 4 - 如何覆盖选项卡栏将打开 View Controller

是否有可能当用户点击标签栏项目时我可以在UITabBarController中覆盖它,然后我检查UserDefault然后决定我是否显示View或return并且他们停留在当前View上?应该是这样的:overridefunctabBar(_tabBar:UITabBar,didSelectitem:UITabBarItem){ifitem.image==UIImage(named:"TabProfile"){//Profiletabselectedif!loginController.isUserLogged(){//Notloggedin...showLoginView()//Fo

ios - CollectionViewCell 的 subview 的渐变层仅在 View CONtroller 首次接纳时存在

我有一个从另一个推送的CollectionViewViewController。此CollectionViewViewController的View有两个subview:内部带有标签的简单UIView和UICollectionView。当它第一次出现时,一切正常,渐变显示正确。但是当我弹出这个ViewController(因此它被释放)并从同一个父ViewControlle再次推送它时,渐变没有显示。单元格如下出队:funccollectionView(_collectionView:UICollectionView,cellForItemAtindexPath:IndexPath)-

ios - 从 AppDelegate(来自 Universal Link)打开的 View Controller 没有导航 Controller

我为一个应用程序创建了一个通用链接。它很好用。它打开应用程序并转到定义的ViewController,并显示通过通用链接传递的正确信息。问题是ViewController有一个导航Controller。但是当我直接从appdelegate访问时,它没有显示这个导航Controller。我如何在AppDelegate中定义present以显示带有导航Controller的ViewController?ifletcontroller=UIStoryboard(name:"Main",bundle:nil).instantiateViewController(withIdentifier:"

ios - 当 View Controller 在本地显示并显示警报时,控件不会变暗

当我在ViewController上显示UIAlertController时,控件按预期变暗。但是,如果同一ViewController本身以模态方式呈现,则警报Controller的显示不会使控件变暗(两个按钮保持蓝色)。如何让呈现的ViewController本身正确地处理呈现,并使它的控件变暗?Here是一个小示例项目。相关代码在MainViewController.swift中。 最佳答案 到目前为止,我的最佳解决方法是使用自定义的UIAlertController子类来设置tintAdjustmentMode及其出现/消失