ios – Xcode 8 – 删除了一些按钮边框

ios – Xcode 8 – 删除了一些按钮边框,第1张

概述我刚刚将我的 Xcode ver从7.3更新到8.0,并且一些按钮边框消失了. 代码看起来很好,所以我真的不知道层发生了什么. 顺便说一句 – 在其他一些控制器中我可以看到图层边框. self.button.layer.borderColor = borderColor.CGColor;self.button.layer.borderWidth = 2;self.button.layer.co 我刚刚将我的 Xcode ver从7.3更新到8.0,并且一些按钮边框消失了.

代码看起来很好,所以我真的不知道层发生了什么.
顺便说一句 – 在其他一些控制器中我可以看到图层边框.

self.button.layer.bordercolor = bordercolor.CGcolor;self.button.layer.borderWIDth = 2;self.button.layer.cornerRadius = CGRectGetHeight(self.button.frame) / 2;

之前:(图像只是例如 – 边框实时看起来不同)

现在:

解决方法 原因是XCode 8引入了一种放大Storyboard的新方法.

在XCode 8之前,在视图控制器生命周期中,vIEwDIDLoad(或属性dIDSet)中不知道帧.您必须等到vIEwDIDLayoutSubvIEws(这是autolayout完成应用约束以确定主视图中每个子视图的帧的时间.
但在此之前可以访问界限:它们只是设置为故事板中IBOutlet的大小.

在XCode 8中,情况有所不同:由于它们的新缩放系统,甚至在VIEwDIDLayoutSubvIEws之前边界也不正确(它们可能存在但具有1000 x 1000的虚拟值).

结论 :

>您可以在vIEwDIDLoad或IBOutlet中使用cornerRadius等内容dIDSet,只要你使用固定值>如果你需要根据边界定义你的cornerRadius,那么在vIEwDIDLayoutSubvIEws中这样做,或者使用NSLayoutConstraints(它们的值是固定的并且可以从autolayout中获知)>如果您需要在视图中使用cornerRadius(如UItableVIEwCell或UICollectionVIEwCell子类),那么您可以在layoutSubvIEws中执行此 *** 作(但是您需要为cornerRadius提供固定值或NSLayoutConstraint常量),或者在awakeFromNib中(在例如,在执行任何与帧相关或与boounds相关的 *** 作之前,只需添加self.layoutIfNeeded,以强制单元格重新计算其子视图的框架.

总结

以上是内存溢出为你收集整理的ios – Xcode 8 – 删除了一些按钮边框全部内容,希望文章能够帮你解决ios – Xcode 8 – 删除了一些按钮边框所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1109044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存