我想在界面生成器(包含在一个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,只是在等待帮助解决我自己的问题!