草庐IT

UiviewController

全部标签

ios - 如何以编程方式更改我的 viewController 的 View ?

我可以使用Storyboard更改UIViewController中的View类,如下所示:如何以编程方式实现相同的效果?我试过这个:convenienceinit(){print("convenienceinit")self.init(nibName:nil,bundle:nil)self.view=MTKView()}但它不起作用。似乎更改了MTKView的View,但框架不会像Storyboard执行此操作时那样调整大小。 最佳答案 您应该实现loadView在ViewController中运行并将自定义View的实例分配给V

ios - Storyboard中的 View Controller 是否会降低 IOS 应用程序的速度,

我目前正在使用不同的spy工具模块开发spy应用程序。对于每种模式的夜视模块,我都使用不同的ViewController。我还将所有5个ViewController与不同的Segues链接在一起,尽管您无法在这张图片中看到它们。我注意到与在单个项目中运行单一模式相比,性能并不出色。ViewController的数量是否可能会降低性能?如果是这样,你推荐什么方法来解决这个问题?除了ViewControllers/Segues的数量之外,单个项目模块和完整App项目的唯一其他区别是我使用像按钮一样工作的imageViews而不是使用按钮。 最佳答案

ios - topLayoutGuide 在 vi​​ewWillAppear 之后应用

我有一个问题,UIViewController(来自XIB)中的topLayoutGuide.length在viewWillAppear之后设置,我不知道如何HooktopLayoutGuide.length的更改以初始设置TableView的contentOffset。在UINavigationController中模态呈现UIViewController的代码:letviewController=UIViewController(nibName:"ViewController",bundle:nil)letnavigationController=UINavigationContr

ios - 在 2 个 ViewController 之间传递数据

这个问题在这里已经有了答案:Whatdoes"Fatalerror:UnexpectedlyfoundnilwhileunwrappinganOptionalvalue"mean?(16个答案)关闭5年前。我正在尝试将数据从我的第一个ViewController发送到我的第二个。使用简单的Int可以正常工作,但是使用Double就不行,我不明白为什么。因此,如果您能解释为什么它不起作用,那就太棒了!我在第一个ViewController中的声明:vartime:Double?=0.00然后我尝试将它发送到我的另一个ViewController:letvc=segue.destinati

ios - 为显示的 ViewController 设置约束

我正在将ViewController推到我当前的ViewController之上。我想推送的ViewController是一个WebView,但我想这无关紧要。我不希望呈现的ViewController位于状态栏下方。但是我该如何设置这些约束呢?这是我加载推送的ViewController的代码:@objcfuncloadWebView(sender:UIButton){letvc=WebViewVC()webViewVC=vcself.present(webViewVC!,animated:true,completion:nil)}如果我为webViewVC.view设置与父View

ios - 在 Swift 中将对象传递给 View Controller

在Objective-C中,如果您需要将对象传递给ViewController,您可以这样做:在目标.h文件中@propertyNSObject*contact;正在发送.m文件MyVC*destVC=[self.storyboardinstantiateViewControllerWithIdentifier:@"myVC"];destVC.contact=contact;[self.navigationControllerpushViewController:destVCanimated:YES];我正在尝试使用以下代码在Swift中执行此操作:letstoryBoard:UISt

ios - 成功登录后无法关闭 UIViewController

登录完成后,我正在努力从NavigationStack中关闭UIViewController。登录屏幕是一个UIViewController,显示了这行代码letloginController=LoginController()self.present(loginController,animated:true,completion:nil)然后我运行这段代码让用户通过firebase登录。Auth.auth().signIn(withEmail:email,password:password){(user,err)inifleterr=err{print("Failedtosigni

uiviewcontroller - 在自定义单元格中点击 UIButton 后显示新的 ViewController

嘿嘿!我想显示一个带有Action的ViewController(自定义单元格中UIButton的tappedInside)。在这种情况下,我不能仅通过控制从自定义单元格中的UIButton拖动到NavigationController(嵌入了ViewController)。我如何才能意识到tableview一行中按钮(在自定义单元格中)上的“tappedInside”会显示一个新的ViewController?谢谢! 最佳答案 您可以在单击具有委托(delegate)的单元格时触发:functableView(tableView:

ios - 使用 Swift 和 Storyboard 在两个 UIViewController 之间传递数据

我使用下面的代码来选择UITableView以在UIViewController之间传递数据-(void)prepareForSegue:(UIStoryboardSegue*)seguesender:(id)sender{if([segue.identifierisEqualToString:@"showRecipeDetail"]){NSIndexPath*indexPath=[self.tableViewindexPathForSelectedRow];RecipeDetailViewController*destViewController=segue.destinationV

ios - 使用 performSegueWithIdentifier/以编程方式快速更改 View

所以我试图在触发某些条件时以编程方式更改View。我创建了一个简单的项目,我想在加载View1后从View1更改为View2。实际上,有一些逻辑操作会检查某个变量是否为真,然后它会调用performSegueWithIdentifier函数,但是为了尽可能简单,我删除了该代码。我执行的步骤是,首先创建两个View:然后我单击View1,检查其属性,然后创建一个手动触发的segue到View2我选择了“显示”选项,所以现在我的View通过segue连接然后在属性检查器下,我给出Storyboard转场和“GoToView2”的标识符。从那里我转到ViewController.swift文