我想在界面生成器(包含在一個UIScrollView中)包含一些UILabels中建立一個子UIView,然後我想以編程方式「複製」此視圖調整其左側位置(通過其寬度的倍數)以實現「浮動「在UIScrollView中的左側效果。然後我想將這個複製的UIView添加回到UIScrollView中,爲UILabels添加不同的文本。如何以編程方式複製構建於界面構建器中的UIViews?
問題是我不知道如何以及如何「複製」UIViews。
我想在界面生成器(包含在一個UIScrollView中)包含一些UILabels中建立一個子UIView,然後我想以編程方式「複製」此視圖調整其左側位置(通過其寬度的倍數)以實現「浮動「在UIScrollView中的左側效果。然後我想將這個複製的UIView添加回到UIScrollView中,爲UILabels添加不同的文本。如何以編程方式複製構建於界面構建器中的UIViews?
問題是我不知道如何以及如何「複製」UIViews。
您可以嘗試致電[查看複製],但如果不起作用,我不會感到驚訝。您可以使用NSKeyedArchiver/NSKeyedUnarchiver序列化/反序列化視圖,但這也非常糟糕。
相反,你可能要加載的視圖的多個副本:
-(UIView)makeMeANewMyView {
// Load MyView.nib into the myView outlet.
[[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self];
// Take ownership.
UIView * view = [[self.myView retain] autorelease];
self.myView = nil;
return view;
}
我很新的Objective-C編程(和一般的oo編程)。我很難記住的一件事情是,只要你發現自己想把某些東西「複製」到多個地方,可能意味着你需要繼承某些東西,然後添加你的定製子類的新實例。在這種情況下,我想你會想創建一個UIView的子類,然後根據需要使用該自定義視圖?
請注意,我發佈了這個建議,它是值得的...我是一個完全noob的objective-c,只是在等待幫助解決我自己的問題!