草庐IT

viewcontroller

全部标签

ios - 像 Instagram 一样在 ViewController 之间为 UITextView 设置动画

很长一段时间以来,我一直在想Instagram是如何实现文本编辑器转换的:初步猜测,我会说他们在同一个UIViewController上执行文本编辑和“移动”,但就他们的复杂程度而言,他们一定找到了从VC过渡的方法A到VCB,其中VCB进行整个文本编辑。我开始认为VCA(运动VC)持有UITextView的“快照”,其中VCB实际持有对象(然后用户可以编辑它)。我不在寻找拖放代码解决方案。我试图大声思考在正确的架构和用户体验方面实现相同行为的可能性有多大。感谢您的宝贵时间,投资返回率 最佳答案 此类问题最好使用派生自UIViewCo

ios - 在 Swift 中 segue 之后从堆栈中移除(删除) View /viewController 的正确方法

我遇到了一个问题。我正在使用performSegueWithIdentifier呈现View。一切顺利。问题是,作为测试,我只有2个viewControllers,其中包含一些数据,并且我有两个按钮将segue调用回另一个VC。如果我继续执行Segues,您可以清楚地看到内存使用量每两个segues增加大约0.4Mb。这告诉我View没有从View堆栈中删除/移除,只是在使用内存。我想知道通过使用performSegueWithIdentifier摆脱呈现另一个View的View的正确方法(当然,在它完成呈现View之后,我猜它不会工作)。你能给我指出正确的方向吗?我找到了一些尝试执行

ios - 从 LaunchScreen 转到 Main.Storyboard 中的 viewController?

我有一些我想在我的LaunchScreen中执行的逻辑,如果检查没问题,我想转至一个viewController,如果不行,我想转至另一个,这可能吗? 最佳答案 IgotsomelogicIwanttodoinmyLaunchScreen现在我明白了这个问题,我可以回答:不要。稍后执行耗时的逻辑。您的工作是快速启动。您需要退出applicationDidFinishLaunchingWithOptions,退出viewDidLoad,然后启动。此时显示什么由您决定;如果您有一些耗时的事情(在您的情况下,这听起来像是您正在联网或在为表

ios - 在 StackView 中动态添加 ViewControllers - UIScrollView 中的 UIStackView

我想在UIStackView中动态添加ViewController。UIStackView必须是可滚动的,所以我将它添加到UIScrollView中。我有一个UI错误,内容大小不明确,我尝试使用DebugViewHierarchy进行调试,结果如下:UIStackView中每个Controller的大小为.zero--这是StoryBoard上的层次结构约束:ScrollView.leading=StackView.leadingScrollView.trailing=StackView.trailingScrollView.top=StackView.topScrollView.底部

ios - Swift4 单元测试 : ViewController not found when type casting

我目前正在使用以下代码在MyViewController类上编写测试:letviewController=UIStoryboard(name:"Main",bundle:Bundle.main).instantiateViewController(withIdentifier:"MyViewController")XCTAssertNotNil(viewController.view)XCTAssertNotNil(viewControlleras?MyViewController)这个测试不起作用,第二个断言总是失败。当我调试时,我可以看到我的viewController具有正确的类

Swift ViewController 类名称为 String

这个问题在这里已经有了答案:GetclassnameofobjectasstringinSwift(32个答案)关闭7年前。我有一个名为“MyViewController”的viewController,我想在其中将一些值保存为用户默认值。作为关键,我想使用类名“MyViewController”并附加一些字符串。在Swift中是否可以从类名中获取字符串?感谢您的帮助:)

ios - 在 SWRevealViewController 侧边菜单的顶部添加一个 ViewController

我已将SWRevealViewController实现到我的应用程序中,以便为我的应用程序提供漂亮的侧边菜单。我的应用程序主(主)屏幕是TableViewController.swift-这也是您可以从中访问侧边菜单的唯一位置。侧面菜单一切正常。这是一张显示它的样子的图片:您可以在菜单中看到的5个选项是在tableView中创建的,我希望它们都链接到其他ViewController。我目前已经使用他们在该侧边菜单的教程中展示的方法实现了这一点,即创建revealviewcontrollerpushcontroller的segue。这一切都有效。问题当您按下其中一个选项时,它会将新的Vi

ios - 在不调用 self.dismiss ViewController 的情况下关闭 View Controller 的替代方法

是否可以在不调用self.dismissViewControllerAnimated的情况下关闭(并释放)ViewController(最好在Swift中)?我试过下面的方法,并没有真正做到:letloginVC=self.storyboard?.instantiateViewControllerWithIdentifier("LoginVC")as!LoginVCself.presentViewController(loginVC,animated:true){//self.removeFromParentViewController()self.tabBarController!.

ios - 避免创建多个 ViewController 实例,iOS Swift

在AppDelegate中,只要收到VoIP调用(推送通知),就会调用以下函数,从而创建“VideoCallViewController”的多个实例我已经使用deinit(在VideoCallViewController中),如下所示,以检查在创建“VideoCallViewController”的新实例之前是否取消了“VideoCallViewController”的先前实例,令我惊讶的是print(“DeinitializingVC)没有被调用,将实例留在内存中。如果AppDelegate中已经存在VideoCallViewController实例,我如何显示VideoCallVi

ios - Swift - UIPageViewController 总是重复第二个 ViewController

设置:我正在尝试创建一个带有嵌入式UIPageViewController的ViewController,其中有4个页面,每个页面都是自己的ViewController。问题:滚动时,第二个View总是重复出现。例如,对于View1、View2、View3、View4,滚动会显示View1、View2、View2、View3、View4,然后向后滚动会显示View4、View3、View3、View2、View1的顺序,即使页面控制是准确的。我看了很多在线教程,包括答案here和here.这是我的页面ViewController类:importUIKitclassHostGamePag