
其中一个子视图需要是圆形的(layer.cornerRadius = wIDth / 2),它在开头是一个正方形.
我在layoutSubvIEws()中尝试过,但似乎在autoLayout改变其大小之前调用…同样的事情为dIDMovetoSupervIEw()
在autoLayout更改其大小后,将此类内容更新到我的子视图的正确功能在哪里?
func tableVIEw(tableVIEw: UItableVIEw,cellForRowAtIndexPath indexPath: NSIndexPath) -> UItableVIEwCell { let cell = tableVIEw.dequeueReusableCellWithIDentifIEr("cell_small") as! Cell ... return cell}// In CelloverrIDe func layoutSubvIEws() { rankLabel.layer.cornerRadius = rankLabel.bounds.wIDth/2 rankLabel.layer.masksToBounds = true}overrIDe func dIDMovetoSupervIEw() { rankLabel.layer.cornerRadius = rankLabel.bounds.wIDth/2 rankLabel.layer.masksToBounds = true} 结果:
解决方法 我最终做的是创建一个名为RoundVIEw的类class RoundVIEw:UIVIEw { overrIDe func layoutSubvIEws() { super.layoutSubvIEws() self.layer.cornerRadius = self.bounds.wIDth/2 self.layer.masksToBounds = true }} 然后我将它应用于我需要绕过的每个视图.所以在Storyboard中我将RoundVIEw添加到Custom Class.
发生的事情是,如果您查看故事板(XML)的源代码,每个视图都具有整个屏幕的大小,您可以查看自己的SB代码.因此,通过尝试在其父layoutSubvIEws()内添加等于wIDth / 2的角半径,子视图未正确设置其框架.所以角半径的值为320/2而不是50/2,这就是它变形的原因.
总结以上是内存溢出为你收集整理的ios – 自动布局后使视图回合全部内容,希望文章能够帮你解决ios – 自动布局后使视图回合所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)