草庐IT

UiviewController

全部标签

ios - UIViewController半屏 "drawer slide"动画

我正在尝试让UIViewController从右侧出现一个“幻灯片”动画。不像Pushsegue,不像Facebook应用程序。我希望新的ViewController在当前的ViewController之上滑动(而不是将其推开),但只覆盖屏幕的一部分,让另一部分显示第一个ViewController。我尝试过的方法:我最接近的方法是使用以下内容创建自定义转场:-(void)perform{__blockUIViewController*src=(UIViewController*)self.sourceViewController;__blockUIViewController*dst

ios - 在尚未显示的 UIViewController 上预加载 UIWebView

我有一个应用程序,在最后一个UIViewController上有一个UIWebView...我让UIWebView加载页面。问题是加载此页面大约需要8秒,这让用户很烦。如果UIViewController还没有出现,我如何提前加载UIWebView(比如应用程序首次启动时!)? 最佳答案 我在UIPageViewController中的UIWebView遇到了同样的问题,我找到了更好的解决方案。如果您在FirstViewController中并且您的webView在您的SecondViewController中,请放置loadHTM

ios - 如何从 UIViewController 打开照片应用程序?

对于如何在按钮操作中从uiviewcontroller打开照片应用程序,我有一些可能的结果。这就像一个打开的Facebook身份验证屏幕,这意味着当用户单击uibutton时,它将最小化native应用程序并打开照片应用程序。这对于ios6和ios7版本是否可行。如果你知道,请给出一些可能的结果?如果有人提供解决方案,我真的很感谢你。 最佳答案 UIApplication.shared.open(URL(string:"photos-redirect://")!) 关于ios-如何从UI

ios - UIViewController 中的 applicationDidBecomeActive?

applicationDidBecomeActive方法在应用程序激活时被调用,有没有办法可以为某个UIViewController执行此方法?我知道有用于ViewController的viewDidAppear但我正在搜索当应用程序再次激活并且位于某个UIViewController上时调用的方法。我怎样才能做到这一点? 最佳答案 可以监听UIApplicationDidBecomeActiveNotification通知:@implementationCertainViewController-(void)viewWillApp

ios - 当通话栏处于事件状态时,自定义 UIViewController 转换设置了错误的 topLayoutGuide 和 bottomLayoutGuide

我有一个UIViewController显示另一个UIViewController。两个ViewController都使用带有自动布局的topLayoutGuide和bottomLayoutGuide。一切都很好,有和没有通话栏。或者有或没有自定义过渡...但是,当有通话栏和自定义转换时,我呈现的ViewController的subview错放了20px向下(导致裁剪View在底部)。我检查了一下,是topLayoutGuide和bottomLayoutGuide错位了...这是转换的代码:#pragmamark-GETTER-(CGFloat)presentationTopProgr

ios - UINavigationBar 从大标题跳到小标题,同时推送到带有嵌入式 UITableView iOS 11 的 UIViewController

正如标题所说,当我尝试推送带有UITableView的UIViewController并显示LargeTitle时,它​​首先显示然后隐藏到小的。这很奇怪,但此错误仅在4英寸设备上重现。这种行为似乎是Apple的错误。我错过了任何其他解决方法或细微差别吗?感谢您的任何建议。Uploadedtestproject(GitHub) 最佳答案 到目前为止我找到的解决方法将UITableView的顶部附加到SafeArea的顶部,但这种方法失去了透明UINavigationBar和LargeTitle的效果滚动时折叠得非常快使用UITabl

ios - 解除分配旧 UIVIewController 的 UIStoryboard segue

我想用一个segue连接两个UIViewControllers,它完全取代了旧的UIViewControllers。我将不再需要以前的那些,所以我希望它们被释放以节省内存,但如果我使用模态转场,它们仍然存在。我如何使用segues来确保新的UIViewController替换所有以前的?我想要这个的原因是为了注册屏幕。用户完成注册过程,完成后进入应用程序的主要部分。不再需要所有注册UIViewControllers所以我希望它们被释放。但是,如果我为此使用segue(如模态segue),View仍然存在(因为如果我使用dismissViewController,它们可以再次看到)。注意

ios - 在 Storyboard 中定义的模拟 UIViewController

我有一个通过Storyboard实例化的UIViewController类,它包含一个常量属性。为了进行测试,我想替换/模拟ViewController的任何值。我实际上可以通过子类化和定义一个新常量并覆盖使用它的方法来做到这一点。但是,我不知道如何实例化ViewController,因为它不在Storyboard中。当然,重要的是原始ViewController的所有View和所有其他功能仍然存在。怎么办? 最佳答案 据我所知,您需要从Storyboard外部的另一个ViewController访问属性而不显示它。由于您使用的是s

ios - 使用 UIViewController 子类的子类和 UIView 子类的子类

我的应用程序中有一个特定View的MVC架构。现在我想创建一个View和Controller部分的子类。原始的UIViewController子类加载了Storyboard中的UIView子类。如何让我的UIViewController子类的子类在加载其View时使用我的UIView子类代码的子类?编辑这里有一些关于我想做的事情的更多细节。我目前有这些类(class):ControlViewControlViewController与Storyboard有关。我使用以下方法加载ControlViewController的实例:self.storyboard!.instantiateVi

ios - 使用 segue 将数据从 UITableView 传递到 UIViewController

我正在尝试将数据从我的UITableView传递到UIViewController以显示更多细节。overridefuncprepareForSegue(segue:UIStoryboardSegue,sender:AnyObject?){ifsegue.identifier=="PassDetail"{letvc=segue.destinationViewControlleras!ToDoListDetailViewControllerletcustomIndexPath=self.tableView.indexPathForSelectedRowvc.titleString=use