[英]how to use multiple copies of any Subview(created in xib) from xib file
我正在使用xib為我的項目創建視圖。 條件是:
我有多個UIView
IBoutlet的對象。
IBOutlet UIView *viewOpenDoor;
IBOutlet UIView *viewOpenDoor_Second;
viewOpenDoor
僅連接到viewOpenDoor
中的一個視圖。 現在我使用此代碼在viewdidload
方法中多次重用相同的視圖 -
[viewOpenDoor setFrame:CGRectMake(30, 80, viewOpenDoor.frame.size.width, viewOpenDoor.frame.size.height)];
[self.view addSubview:viewOpenDoor];
viewOpenDoor.layer.borderColor = [UIColor blackColor].CGColor;
viewOpenDoor.layer.borderWidth = 0.9f;
viewOpenDoor.layer.cornerRadius = 6.0f;
[viewOpenDoor setHidden:YES];
viewOpenDoor_Second = [[UIView alloc] init];
viewOpenDoor_Second = [viewOpenDoor copy];
[viewOpenDoor_Second setFrame:CGRectMake(184, 80, viewOpenDoor.frame.size.width, viewOpenDoor.frame.size.height)];
[self.view addSubview:viewOpenDoor_Second];
它給予例外 -
-[UIView copyWithZone:]: unrecognized selector sent to instance 0x95ba140
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView copyWithZone:]: unrecognized selector sent to instance 0x95ba140'
所以,我的問題是如何重用這個在xib中創建的IBOutlet
對象,多次使用不同的實例?
您將xib
加載到UINib
並從該UINib
實例化所需的所有副本。
然后訪問整個xib
副本的出口。 您無法復制視圖,只能從同一個UINib
實例化多個“副本”。
如果計划稍后創建更多,則可以將UINib
存儲在實例變量中。
試試這個: - 將UIView
所有實例(你要連接的)引用到XIB文件,如下圖所示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.