自定義控件出現[super initWithCoder:aDecoder]崩潰問題解決

今天嘗試了一下autolayout與storyboard/xib來作UI,用起來仍是感受蠻駕輕就熟的,不再用擔憂寫繁瑣的UI代碼了。故此也打算從此用xib來實現自定義控件(UIView Subclass),不料在作一個小例子的過程當中遇到一個崩潰問題,崩潰位置發生在[super initWithCoder:aDecoder]的地方。less

伴隨着這個崩潰出現的錯誤提示是這個:函數

warning: could not load any Objective-C class information. This will significantly reduce the quality of type information available.ui

查看崩潰時的調用堆棧,居然有不少個initWithCoder:函數,感受像是無限循環遞歸調用同樣。根據這篇文章的答案,才發現是由於本身將xib中view的Custom Class設置爲ChildView(自定義控件的名稱,繼承於UIView)。spa

實際上只須要將xib中File's Owner設置爲ChildView就好了。code


想用xib實現自定義控件,而且在xib中嵌套xib,能夠看這個教程:iOS Interface Builder:在.xib文件中加載另外一個.xib文件orm

相關文章
相關標籤/搜索