草庐IT

Level1Controller

全部标签

ios - iPhone X 键盘 Controller 背景色

如何更改iPhoneX键盘周围区域的背景颜色?在这种情况下,浅蓝色周围的灰色区域。我试过了self.view.backgroundColor=self.keyboard.backgroundColor;self.view.superview.backgroundColor=self.keyboard.backgroundColor;甚至尝试过self.navigationController.view.backgroundColor=[UIColorredColor];没有。由于键盘被裁剪到它的包含框,因此您无法展开通过预期框架的View。想法?编辑:我唯一能想到的也许是在适当的位置添

ios - 跨多个 Controller 更新对象/模型

我是swift的初学者。所以在我的项目中,我使用了多个对象/模型,我几乎在所有Controller中都使用过。我的问题是,当我的对象/模型在任何一个Controller中更新时,如何自动更新它(跨所有Controller)?执行此操作的正确方法是什么?我将如何去做? 最佳答案 有按值传递和按引用传递的概念。最适合您问题的解决方案是使用PassByReference类型。如果我们谈论Swift编程语言。class是引用类型,struct是值类型。因此,您的模型类应该使用class类型构建。代码示例。classDog{varbreed:

ios - 如何一次关闭两个模态视图 Controller ?

我有一个位于导航堆栈中的ViewControllerA。A模态地呈现另一个ControllerB,后者又可以模态地呈现另一个ControllerC。当用户点击C中的按钮时,我想关闭C和B以返回到A。我怎样才能同时解散B和C?下面的代码可以工作,但是这样做安全吗?letp=self.presentingViewControllerself.dismiss(animated:true){p?.dismiss(animated:true,completion:nil)} 最佳答案 使最顶层的ViewController成为一个属性。确保B

ios - 在 View Controller 之间传递对象

最近我一直在开发一个新的应用程序,我正在努力在ViewController之间传递数据。我使用一个ViewController,它包含一个容器View,我在其中使用谷歌地图。正如你们中的一些人所知,在谷歌地图上放置一个按钮是不可能的,因为它覆盖了所有内容(这就是我将其作为容器View放置的原因)。现在我遇到了一个问题,我无法创建一个可以performSegue的操作按钮,而且我也未能通过NotificationCenter传递一个对象。我制作了一个名为Song的模型,我想将歌曲List传递给其他Controller(表格View)。classSong{varsid:Stringvars

ios - 所有 Controller 上的快速播放器小部件

我正在我的应用程序中播放广播。并希望拥有带有信息+控制按钮的小部件,这些小部件将在播放时持续存在于应用程序中的所有Controller上。就像在iTunes中或像谷歌chromecast容器一样,它将从底部推送其他ViewController的所有元素(不是覆盖元素)我知道覆盖View可以在appdelegate中添加到keywindow,正如GoogleCastContainer添加的那样:letappStoryboard=UIStoryboard(name:"Main",bundle:nil)letnavigationController=appStoryboard.instant

ios - 拖动到弹出 View Controller 会导致固定在底部的按钮跳转(使用标签栏)

我在使用标签栏Controller时遇到问题。见下图:按钮固定在安全区域底部。第一次按下ViewController时,它会出现在正确的位置。在viewWillAppear中,我有以下代码:overridefuncviewWillAppear(_animated:Bool){super.viewWillAppear(animated)tabBarController?.tabBar.isHidden=true}推送此Controller的ViewController在viewWillAppear中具有以下内容:overridefuncviewWillAppear(_animated:B

ios - Swift - 通过网络调用和 Storyboard 在 View Controller 中进行依赖注入(inject)?

Swift-如何在从Storyboard创建的ViewController中实现依赖注入(inject),并且应该注入(inject)的数据是从网络中获取的(将在异步调用后可用)?例如,ViewController显示一个列表。为了获取列表的数据集,应该执行网络调用,然后将数据注入(inject)dataSet属性。如何实现? 最佳答案 我不确定是否完全理解您的问题,但这是我通常的做法。假设您有一个DataFetcher类,负责进行网络调用:classDataFetcher{funcfetchData(completion:@esc

ios - 如何快速执行从 Root View Controller 到导航堆栈中最后一个 View Controller 的 segue?

我有3个嵌入在导航Controller堆栈中的ViewController。RedVC、BlueVC和YellowVC。在每个ViewController中都有将触发segue的按钮我想从RedVC导航到BlueVC或YellowVC。从RedVC到BlueVC和YellowVC的所有segue都使用pushshowsegue连接,而不是模态呈现。如果路由是这样的话没有问题:RedVC->BlueVC->YellowVC但是如果我将showsegue从redVC直接推送到YellowVC,YellowVC中的后退按钮会将我引导回RedVC我想,如果我从RedVC转到YellowVC,我

ios - 如何为 AppDelegate 中的所有 View Controller 独立更改左右栏按钮项文本属性?

在我的应用程序中,我在UINavigationController中嵌入了许多UIViewControllers,其中包含一个cancelrightBarButtonItem和保存leftBarButtonItem。在每个类中,我都有重复的代码来自定义栏按钮项的属性:navigationItem.leftBarButtonItem?.setTitleTextAttributes([NSAttributedStringKey.font:UIFont(name:fontFuturaMedium,size:fontSize17)!],for:.normal)navigationItem.le

ios - 在 Coordinator 模式中重用 View Controller

我的iOS应用程序中有一个ViewController的流程(FlowA)。流程A相当复杂(根据情况,一些ViewController会提前显示,或者根本不显示等)。为了处理这个问题,我正在使用协调器模式。代码(简化):protocolCoordinator{funcstart()}protocolFlowACoordinatable{varcoordinator:FlowACoordinator}classFlowACoordinator:Coordinator{privatevarnavigationController:UINavigationControllerprivatev