1.1 新建1個類,用來描述這個xib (假定繼承自uiview,且類名是diyview)
1.2 新建1個xib,檔名也是diyview,往裡面拖乙個uiview,設定uiview的屬性-class為diyview
1.3 往xib裡拖1個長按的手勢識別,滑鼠右鍵剛剛拖進來的uiview,gesture recognizer和剛才拖進來的長按手勢識別做連線
1.4 diyview.h 提供乙個方法類方法: + (instancetype)diyview;
diyview.m 實現diyview:
+ (instancetype)diyview
return [[[nsbundle mainbundle] loadnibnamed:@"diyview" owner:nil options:nil] lastobject];
1.5 在控制器中,新增這個用xib定義的view
diyview *diy = [diyview diyview];
[self.view addsubview:diy];
1.6 最後執行程式,程式崩潰
1.7 分析報錯原因:
[diyview diyview] 返回的是手勢,不是預期的uiview.因為最後新增的是長按手勢.
1.8 總結:
使用xib時需要注意lastobject或者firstobject返回的到底是什麼
1.9 規避方法
可以通過列印陣列看看陣列中元素的排列順序
nsarray *array = [[nsbundle mainbundle] loadnibnamed:@"diyview" owner:nil options:nil]
nslog(@"%@",array);
diyviewcontroller *diyvc = [[diyviewcontroller alloc] init ];
2.1 控制器缺省會自動找對應的xib來建立view: 會先找去掉controller的名字的xib,如果沒找到,會去找同名的xib
像上面這個控制器初始化時,系統首先會找檔名是 diyview 的xib作為自己的view,如果沒找到才去找檔名是 diyviewcontroller 的xib作為自己的view
2.2 如果專案中存在diyview.xib,那麼xib的file's owner的class要設為diyviewcontroller,然後設定file's owner的outlets的view要和xib的view連線,否則會報錯
LCD使用注意事項
a.lcd使用注意事項 1.確保是在電源關閉的狀態下拔插線纜 2.對液晶屏進行固定安裝時,注意使整個液晶屏保持平整,避免外力導致液晶屏 彎曲 扭曲 3.一定要小心液晶屏的表面偏光片,避免被堅硬物體劃傷 決不能將堅硬物品置於液晶屏之上 4.如果水滴長時間滯留在液晶模組上,可能導致變色或出現汙斑,所以務...
using使用注意事項
在c 的語法中,using關鍵字有幾個作用 一 匯入乙個命名空間,以便於能使用該命名空間下的相關型別定義,如下的例項 中,將匯入system.text下的相關型別定義 二 為乙個命名空間設定別名,這種情況下並不會匯入對應命名空間下的型別定義,如例項 為system.text定義了別名systext,...
LCD使用注意事項
a.lcd使用注意事項 1.確保是在電源關閉的狀態下拔插線纜 2.對液晶屏進行固定安裝時,注意使整個液晶屏保持平整,避免外力導致液晶屏 彎曲 扭曲 3.一定要小心液晶屏的表面偏光片,避免被堅硬物體劃傷 決不能將堅硬物品置於液晶屏之上 4.如果水滴長時間滯留在液晶模組上,可能導致變色或出現汙斑,所以務...