加载的笔尖不更新帧大小
Posted
技术标签:
【中文标题】加载的笔尖不更新帧大小【英文标题】:loaded nib not updating frame size 【发布时间】:2016-06-24 01:54:45 【问题描述】:我在调整通过 loadNibNamed 加载的视图大小时遇到问题,它们的框架在实例化时会更新,并且只有在我转到另一个视图并返回时才会获得设置的大小。
流程:
viewDidLoad loadNibNamed 设置对应的框架 将笔尖添加到主视图(此处大小错误,与笔尖文件相同) 转到另一个视图 返回(正确显示大小) :悲伤:我用来实例化笔尖的代码:
class NibView: UIView
override init(frame: CGRect)
super.init(frame: frame)
xibSetup("xibName")
required init?(coder aDecoder: NSCoder)
super.init(coder: aDecoder)
xibSetup("xibName")
func xibSetup(name: String)
view = loadViewFromNib(name)
view.translatesAutoresizingMaskIntoConstraints = false
view.frame.size = bounds.size
addSubview(view)
func loadViewFromNib(name: String) -> UIView
let nib = NSBundle.mainBundle().loadNibNamed(name, owner: self, options: nil)
let view = nib[0] as! UIView
return view
【问题讨论】:
【参考方案1】:您正在从 init 方法调用 xibSetup
。 bounds.size
尚未设置,但您正在使用它来设置view.frame.size
。
【讨论】:
以上是关于加载的笔尖不更新帧大小的主要内容,如果未能解决你的问题,请参考以下文章
从笔尖加载的 UITableViewCell 未更新(缓存?)