iOS10 SDK什么时候设置视图帧大小?

2024-03-28

多年来,我一直在 Swift 和 ObjC 中使用这种技术来制作圆形视图:

view.layer.cornerRadius = view.frame.size.width / 2
view.clipsToBounds = true

当 Storyboard 中的 UILayoutConstraint 是固定宽度/高度时,将此代码放入 viewDidLoad 或 viewWillAppear 中没有问题。内置iOS9.3SDK,在iOS10等中运行良好。

iOS10SDK 显示的帧大小与 Storyboard 中的固定大小完全不同,甚至达到 viewWillAppear 和 viewDidLayoutSubviews 等。我的选项是:

1)在viewDidAppear中执行此操作(糟糕的解决方案) 2)硬编码cornerRadius(工作正常,但很糟糕)

这看起来像一个错误(因为故事板中设置的固定宽度/高度永远不应该在控制台中至少出现警告的情况下更改)。是吗,还是这个代码现在有不同的地方? (附测试代码截图)


在 iOS 10 中,我在 6 月份开始使用 Xcode 8 后就遇到了这个问题,当时它还是测试版。需要这个解决方案:

Put layoutIfNeeded()在图层修改之前:

self.view.layoutIfNeeded()

view.layer.cornerRadius = view.frame.size.width / 2
view.clipsToBounds = true

OR

将圆角半径的代码放置到viewDidLayoutSubviews() method:

override func viewDidLayoutSubviews() {

    view.layer.cornerRadius = view.frame.size.width / 2
    view.clipsToBounds = true

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS10 SDK什么时候设置视图帧大小? 的相关文章

  • Xcode 8 模拟器崩溃

    我最近下载了 Xcode 8 beta 当我尝试打开模拟器时 它卡在黑色的 Apple 屏幕上 并且收到 SpringBoard 的崩溃消息 有任何想法吗 如果我遗漏了任何内容 我很乐意进行编辑 提前致谢 这是发行说明中提到的已知问题 与下
  • 收到“此应用程序正在从后台线程修改自动布局引擎”错误?

    在我的 OS X 中使用 swift 经常遇到这个错误 此应用程序正在从后台线程修改自动布局引擎 这可能会导致引擎损坏和奇怪的崩溃 这将在未来的版本中导致异常 我有一个我的NSWindow我正在交换观点contentView窗户的 我得到了
  • iOS 以编程方式为表视图单元格内容创建 NSLayoutConstraint

    我想在 cellForRowAtIndexPath 中添加一些视图到我的单元格内容视图及其约束 但没有任何效果 我有这样的事情 NSLayoutConstraint constraint NSLayoutConstraint constra
  • 使用自动布局时如何制作从一个 UIView 到另一个 UIView 的翻转动画?

    我总是使用以下代码在一个视图和另一个视图之间制作翻转动画 UIView transitionFromView firstView toView secondView duration 0 6 options UIViewAnimationO
  • 根据尺寸类别更改约束乘数

    是否可以根据当前的尺寸类别为约束赋予不同的乘数 我的观点是 对于常规尺寸类宽度 我希望其尺寸为屏幕尺寸的一半 对于紧凑尺寸类宽度 我希望其尺寸为屏幕尺寸的 80 在故事板中 我可以选择将不同大小类别的不同变量添加到约束常量值中 但不能添加它
  • 将子类化的 UIView 添加到具有自动布局约束的 Nib

    我正在尝试创建一个 UIView A 其中包含 2 个自定义视图 B 视图 B 使用自动布局约束进行设置 并在 Interface Builder 中制作 包括约束 在viewController的Nib中添加A 乙 UIImageView
  • AVAudioConverter 在 iOS 10 中损坏

    AVAudioConverter 在 iOS 10 中似乎损坏了 该代码在 iOS 9 中工作 现在 错误域 NSOSStatusErrorDomain 代码 50 空 无论使用什么音频格式都会返回 每年 基本的库功能停止工作都让我感到惊讶
  • 以编程方式添加 CenterX/CenterY 约束

    我有一个 UITableViewController 如果没有任何内容可显示 则不会显示任何部分 我添加了一个标签来向用户表明此代码没有任何内容可显示 label UILabel frame CGRectMake 20 20 250 100
  • UITableView tableFooterView 显示在 UITableView 的顶部 - 错误

    我创建了一个非常简单的测试用例来重现这个问题 我正在尝试以编程方式将页脚视图设置为表格视图 请注意 我指的是表格视图最底部的页脚 而不是部分页脚 大多数堆栈溢出答案都会使他们感到困惑 这是我的非常简单的代码 void viewDidLoad
  • 错误 ITMS - 90167 在包中找到的应用程序包数量

    在开始撰写有关该错误的文章之前 我正在 macOS Sierra 上运行并使用 Xcode 7 3 1 因此 我从我的应用程序创建一个存档 我验证该应用程序并通过验证 但在上传到应用程序商店时 我收到错误 错误 ITMS 90167 在包中
  • 处理 iOS 10 中的 AutoLayout 约束动画差异?

    我注意到在 iOS 10 Beta 5 即将尝试 Beta 6 中 AutoLayout 约束动画的行为有点不同 例如 此方法的工作方式与之前的 iOS 版本不同 view addConstraints constraints view s
  • iOS 10 中的 AVSpeechSynthesizer 错误

    我目前正在使用创建一个文本转语音应用程序AVSpeechSynthesizer 在 iOS 9 中运行正常 但在 iOS 10 中出现以下错误 无法获取属性 LocalURL 错误域 MobileAssetError Code 1 无法复制
  • UIButton 调整大小以适合其 titleLabel

    我有一个UIButton我将其添加到故事板中的视图控制器的视图中 我添加居中约束来定位它 并添加前导空间约束来限制其宽度 在代码中我添加 self button titleLabel numberOfLines 0 self button
  • iOS:自动布局:当有足够的空间时,两个按钮并排,否则彼此重叠

    寻找一种自动布局解决方案 当有足够的空间时 两个按钮并排放置 但否则 当视图以有限的宽度显示时 彼此重叠 我什至不知道从哪里开始考虑自动布局 任何帮助表示赞赏 我想象这是自动布局和 NSLayoutConstraint 属性常量之间的组合
  • 今天 iPad 的扩展高度比指定的要大得多

    我的今日扩展需要根据小部件显示的内容具有动态高度 我可以通过在最底部元素上添加约束来实现此目的 底部布局指南的顶部小于或等于最底部元素的底部 常数为 0 优先级为 999 乘数为 1 这与 iPhone 上的预期完全一样 小部件高度适合所有
  • 将 iOS 9 Today 扩展转换为 iOS 10 的尺寸问题

    晚上好 我在理解今天的扩展时遇到了很大的问题 我读过很多教程和介绍 但没有任何帮助我理解这个问题 在 iOS 9 上 该扩展可以正常工作 在 iOS 10 上则不行 我的大问题是 iOS 10 中小部件的自动调整大小 在 iOS 9 上 小
  • iOS 8 中 updateViewConstraints 的行为更改

    在 iOS 8 下测试我的一个应用程序时 我注意到一些小的图形故障 一些 UIViews 元素不在正确的位置 其他元素的大小不正确 第一步 我使用故事板 自动布局和约束 然后 我使用编程方式调整约束以完美适合设备的屏幕尺寸updateVie
  • iOS 8 的自动布局问题,但代码在 iOS 7 上运行良好

    我正在为 iPhone 和 iPad 开发一款应用程序 它支持iOS6和iOS7 并且专门使用自动布局 上周 当苹果宣布 iOS8 已准备好迎接黄金时段时 我将我的一部 iPhone 和一台 iPad 都升级到了 iOS8 我还将我的 XC
  • AVCaptureDevice isFlashModeSupported 已弃用 iOS 10

    我正在使用 AVCaptureDevice 的实例方法 isFlashModeSupported 如下所示 NSArray captureDeviceType AVCaptureDeviceTypeBuiltInWideAngleCamer
  • 需要帮助设置两个宽度相等的并排自动布局按钮

    使用自动布局我尝试在底部创建两个按钮 如下所示 拖动两个按钮后 我设置这样的约束 On Back button I set Leading Space to Container Margin and Bottom Space to Bott

随机推荐

  • 页面加载完成时打开 css 弹出窗口

    I have 纯CSS弹出窗口这个弹出窗口适用于单击按钮 但我需要在页面加载完成时弹出这个 div div class wrap a href modal one class btn btn big Modal a div div clas
  • 无法选择输入框中的文本

    我在表单上有以下用于浮动标签的 HTML CSS 抱歉 如果它有点混乱 box sizing border box html font 14px 1 4 Sans Serif form width 320px float left marg
  • C# 多线程:需要获取读锁吗?

    从多个线程读取变量之前是否需要获取变量的锁 简短的回答是 这取决于 长答案是 如果它不是共享值 即只有一个线程可以看到它 或使用它 则不需要任何同步 如果它是一个不可变的值 即您只设置一次 然后只读取一次 那么在没有同步的情况下这样做是安全
  • 如何排除嵌套复合聚合中的术语

    我在 elasticsearch 中的嵌套字段上使用复合聚合 但我想从结果中排除一些术语 此聚合正在运行 size 0 geo communication nested path geo aggs table composite size
  • 如何修复“android.os.NetworkOnMainThreadException”?

    我在运行 RssReader 的 Android 项目时遇到错误 Code URL url new URL urlToRssFeed SAXParserFactory factory SAXParserFactory newInstance
  • 如何让 jQuery Mobile 停止破坏 Ember.js 网站?

    我有一个用 Ember js 编写的网站 导航基于带有 符号的 url 我已经包含了 jQuery Mobile 我也有 jQuery 标准 jQuery 还可以 但是当我包含 jQuery Mobile 时 奇怪的事情发生了 符号从 UR
  • qtcreator - 未定义符号:sqlite3_column_table_name16

    我刚刚升级到 xubuntu 18 10 qt 不再为我工作 我已经删除并重新安装它 但没有帮助 我在终端上收到以下错误消息 显然某些 sqlite 依赖关系不正确 qtcreator qtcreator symbol lookup err
  • ASP.net MasterPage.master 不存在

    我在 IIS 服务器上发布我的网站时遇到问题 我无法直接访问它 因此我必须依靠其他人在 IIS 上配置我的网站 但是 当我上传我的网站时 出现此错误 Line 1 Line 2
  • Maven 程序集创建带有依赖项和类路径的 jar

    我有一个 Maven 项目 有很多依赖项 我想使用程序集插件将所有依赖项打包到一个 jar 中 但我不会将所有依赖项 jar 解压得一团糟 我希望它们全部进入 lib 文件夹 但我不知道如何添加类路径 我的pom
  • Orchard CMS - 配置基本 URL

    我使用 localhost frankgiotto 的基本 URL 在我的开发计算机上安装了最新版本的 Orchard 然后我将网站移至 www frankgiotto com 并在设置中更新了我的基本 URL 网站运行完美 我喜欢它的一切
  • 了解 intel 汇编中的 %rip 寄存器

    关于以下小代码 在另一篇关于结构大小和正确对齐数据的可能性的文章中对此进行了说明 struct char Data1 short Data2 int Data3 char Data4 x unsigned fun void x Data1
  • 想要计算列中满足条件的值的数量

    我正在尝试计算列中满足特定条件 例如 大于 0 75 的值的数量 我的列由 2000 多个小数组成 这是我尝试过的 a len fs c np zeros a for i in fs 0 a if i gt 0 75 print 1 eli
  • Django REST Framework Swagger - 身份验证错误

    我按照说明进行操作在文档中 http django rest swagger readthedocs io en latest 所以这是我的观点 from rest framework decorators import api view
  • 在 Android 中获取 WiFi 信号强度

    我可以使用以下代码获取以 dBm 为单位的 WiFi 信号电平 for ScanResult result wifiScanResultList int signalLevel result level 它给出负值 当我们看到默认的系统 W
  • Android 中的微调器出现错误

    我正在使用新样式的 Spinner Base Widget AppCompat Spinner Underlined 当我选择选项时 我可以看到下划线 并且该线以强调色显示 问题是我找不到一种方法来显示带有红色下划线的错误 例如谷歌对其所有
  • 在python中导入外部“.txt”文件

    我正在尝试导入包含大约 10 个单词的列表的文本 import words txt 那不行 无论如何 我可以在不显示此内容的情况下导入文件吗 Traceback most recent call last File D python p1
  • 在 prestashop 管理的编辑产品页面添加一个字段

    我在 prestashop 数据库的产品表中添加了一个字段 mystock 现在我想在编辑产品页面中显示 编辑此字段 产品更新时也会更新 这个适用于我的 prestashop 1 5 4 将文件 Product php 添加到 overri
  • 通过 R 中的因子向量化 cumsum

    我正在尝试在一个非常大的数据帧 约 220 万行 中创建一个列 用于计算每个因子级别的 1 的累积和 并在达到新的因子级别时重置 下面是一些与我自己的类似的基本数据 itemcode lt c a1 a1 a1 a1 a1 a2 a2 a3
  • 查找 boost multi index 标签到索引和索引数量

    我有一个模板类 CrMultiIndex 它接收 boost 多索引 GlobalHash 的定义作为模板参数 I need 根据使用的索引向我的模板类添加统计信息 所以我需要一种方法在初始化时使用现有索引的数量调整向量 m StatsBy
  • iOS10 SDK什么时候设置视图帧大小?

    多年来 我一直在 Swift 和 ObjC 中使用这种技术来制作圆形视图 view layer cornerRadius view frame size width 2 view clipsToBounds true 当 Storyboar