對于custom,可以通過addSubview: 增加內容,也可以通過Core Graphic繪制內容。
對于后者,在drawRect: 進行,位置信息隨之確定
對于前者,一般在view初始化時進行(也可以動態地在其它地方進行)。設置subview的位置信息時,需要了解下面的區別:
- 在 layoutSubviews中,此時custom view 的bounds雖然已經確定,但是對于有constraint的subview(比如在nib文件中添加的約束),其位置信息還沒有按照constraint進行更新。
- 在drawRect:中,subview的位置已經根據constraint進行了更新。
也就是說custom調用layoutSubviews, 然后更新subview的位置信息,然后drawRect:
新聞熱點
疑難解答