Swift:通过扩展更新 UIViewController 插图

     2023-02-23     223

关键词:

【中文标题】Swift:通过扩展更新 UIViewController 插图【英文标题】:Swift: Update UIViewController insets via extension 【发布时间】:2020-04-30 00:29:38 【问题描述】:

我想在某些设备上更新我的所有视图控制器的 UIEdgeInsets,并且我想看看是否有办法将其作为扩展在全局范围内执行,而不是为每个设备创建一个方法并在 viewDidLoad 中调用它。有没有办法做到这一点?我尝试使用 awakeFromNib 但这不起作用。

extension UIViewController 

    open override func awakeFromNib() 
        self.additionalSafeAreaInsets = UIEdgeInsets(top: 100, left: 100, bottom: 100, right: 100)
    


我还尝试在更改边缘插图后调用 self.viewLayoutMarginsDidChange(),但没有结果。

任何建议将不胜感激。我只是覆盖了错误的方法,还是这不可能,或者像我想的那样简单。

【问题讨论】:

您使用的是故事板还是框架编码? @Ladd.c 我正在使用情节提要。 【参考方案1】:
extension UIViewController 

    open override func awakeAfter(using: NSCoder) -> Any? 
        self.additionalSafeAreaInsets = UIEdgeInsets(top: 100, left: 100, bottom: 100, right: 100)
        return super.awakeAfter(using: using)
    


【讨论】:

通过扩展 UIButton 类使用 Swift 创建自定义按钮

】通过扩展UIButton类使用Swift创建自定义按钮【英文标题】:CreatecustombuttonwithSwiftbyextendingtheUIButtonclass【发布时间】:2015-09-1413:09:24【问题描述】:我正在学习Swift,我有一个基本问题。我不想使用情节提要,我想用代码创建一个... 查看详情

通过扩展自动合成 Swift 结构或枚举的 Equatable 一致性

】通过扩展自动合成Swift结构或枚举的Equatable一致性【英文标题】:AutomaticsynthesisofEquatableconformanceforSwiftstructorenumthroughanextension【发布时间】:2021-12-0806:52:46【问题描述】:Swift文档说Equatable一致性的自动合成可用于结构和具有... 查看详情

是否可以通过扩展中的 Swift 4 KeyPaths 在 UIView 上设置属性?

】是否可以通过扩展中的Swift4KeyPaths在UIView上设置属性?【英文标题】:IsitpossibletosetapropertyonUIViewviaSwift4KeyPathsinanextension?【发布时间】:2017-07-0810:03:31【问题描述】:我正在尝试通过一个扩展在UIView上创建一个set方法,该扩展... 查看详情

通过框架之间的扩展实现 Swift 协议一致性

】通过框架之间的扩展实现Swift协议一致性【英文标题】:Swiftprotocolconformancebyextensionbetweenframeworks【发布时间】:2018-02-1309:04:44【问题描述】:出于各种原因,我将SwiftiOS应用程序的代码库拆分为一系列模块,主要以相当线性的... 查看详情

无法通过 Swift 扩展向objective-c NSManagedObject 子类添加方法

】无法通过Swift扩展向objective-cNSManagedObject子类添加方法【英文标题】:Can\'taddmethod,viaSwiftextension,toobjective-cNSManagedObjectSubclass【发布时间】:2015-12-1319:53:46【问题描述】:Xcode7.2中NSManagedObject子类的代码生成器与Objective-C的代码生... 查看详情

测试 Swift 扩展

...:我尝试创建一个cocoapod来扩展Swift中的Primitives。我无法通过测试或配置错误:这是我的敏捷/快速测试://https://github.com/Quick/QuickimportQuickimportNimbleimportSwiftRubySyntaxclassTableOf 查看详情

swift学习-25--协议02

//通过扩展添加协议一致性//即便无法修改源代码,依然可以通过扩展令已有类型遵循并符合协议,扩展可以为已有类型添加属性,方法,下标以及构造器,因此可以符合协议中的相应要求 //注意:通过扩展令已有类型遵循并符合协议... 查看详情

Swift 中带有选择器的协议扩展

...【发布时间】:2016-06-0221:12:47【问题描述】:我正在尝试通过添加registerGestureRecognizers函数来扩展Swift中的协议。这是完整的实现。FilterableView由继承自UIImageView的类使用。importUIKitprotocolFilterableView: 查看详情

swift-uibutton属性

//// ViewController.swift// Swift-UIButton//// Createdbyluorendeon16/9/9.// Copyright©2016年luorende.Allrightsreserved.// importUIKit classViewController:UIViewContro 查看详情

从 Swift 中的“UserDefaults”更新值的问题

...nSwift【发布时间】:2018-05-1612:22:55【问题描述】:我正在通过UserDefaults将字符串值从我的vc2发送到vc1。但是,当我通过后退按钮从vc2移回vc1时,该值不会更新。我在viewWillAppear方法中获得了vc1的价值。但我的价值没有更新。我通... 查看详情

Swift3 - 扩展类型集合的问题

...描述】:早安,我试图理解Swift3中的协议和扩展。我试图通过可变函数将Collection扩展为例如治疗Enemy类型数组内的所有敌人。这是一个GIST示例:https://gist.github.com/flowinho/5985928f803d902b 查看详情

如何在objective c框架中使用swift扩展

...mework【发布时间】:2017-03-0613:45:11【问题描述】:我已经通过Objective-C中的CocoaPods在Swift项目中安装了MWPhotoBrowser。我在Swift项目中有一个UIColor扩展。publicextensionUIColorpublicfuncapp 查看详情

是否可以通过自定义扩展更新 Thunderbird 中的过滤规则?

】是否可以通过自定义扩展更新Thunderbird中的过滤规则?【英文标题】:IsitpossibletoupdatefilterrulesinThunderbirdviacustomextension?【发布时间】:2021-11-1600:24:54【问题描述】:您好,感谢您的关注。我想为实现某种黑名单的MozillaThunderbird... 查看详情

在 iOS swift 中更新应用程序时,通过 CFBundleShortVersionString 获取以前的版本而不是最新版本

】在iOSswift中更新应用程序时,通过CFBundleShortVersionString获取以前的版本而不是最新版本【英文标题】:gettingpreviousversionratherthanlatestversionthroughCFBundleShortVersionStringwhileappisupdatediniOSswift【发布时间】:2018-05-1301:59:22【问题描述】... 查看详情

基于设备旋转更新变量 - Swift UI

...想我需要使用一个可观察的对象,但不确定如何转换这个扩展?这是我在下面使用的代码。内容视图()structC 查看详情

在 Swift 的类扩展函数中使用“self”

....instantiateFromNib()并拥有一个MyCustomView实例。我几乎准备好通过桥接头移植我拥有的工作Objective-C 查看详情

什么是 Swift “扩展”的 dart 等价物?

...】:2019-07-1721:22:06【问题描述】:关键字/保留字extension通过使用标准框架中的现有类而不对它们进行子类化,从而使代码更加简洁。Dart中是否有允许相同行为的关键字?extensionDoublevarmm:Doublereturnself/1_000.0le 查看详情

在 UITableViewController (Swift) 顶部添加按钮

...元格,这就是为什么它是一个uitableviewcontroller而不是一个uiviewcontro 查看详情