今天尝试了一下autolayout与storyboard/xib来做UI,用起来还是感觉蛮得心应手的,再也不用担心写繁琐的UI代码了。故此也打算今后用xib来实现自定义控件(UIView Subclass),不料在做一个小例子的过程中遇到一个崩溃问题,崩溃位置发生在[super initWithCoder:aDecoder]的地方。
查看崩溃时的调用堆栈,竟然有很多个initWithCoder:函数,感觉像是无限循环递归调用一样。根据这篇文章的答案,才发现是因为自己将xib中view的Custom Class设置为ChildView(自定义控件的名称,继承于UIView)。
实际上只需要将xib中File‘s Owner设置为ChildView就行了。
想用xib实现自定义控件,并且在xib中嵌套xib,可以看这个教程:iOS Interface Builder:在.xib文件中加载另一个.xib文件
时间: 2024-12-28 01:22:15