我试图在其中创建一个主页滚动,是一个包含2个UIImage,2个UILabel和2个UIButton的UIView。我试图复制整个视图并将其粘贴到复制的UIView上面,依此类推。 我试图这样做:
NSData *archivedData = [NSKeyedArchiver archivedDataWithRootObject: self.contentView];
UIView *newView = [NSKeyedUnarchiver unarchiveObjectWithData: archivedData];
[self.homeScroll addSubview:newView];
它显然正确地复制粘贴它但我的问题是我希望newView重复保持一个在彼此之上。我试图将它们定位为:
newView.center = CGPointMake(0.0, screenRect.size.height * i);
和
frame.origin.x = 0; // new x coordinate
frame.origin.y = screenRect.size.height * i; // new y coordinate
newView.frame = frame;
和
newView.layer.frame = CGRectMake(0, screenRect.size.height * i, self.homeScroll.frame.size.width, self.homeScroll.frame.size.height);
但没有成功。在所有情况下,i
是for循环的典型int i
变量,它从Web服务运行请求的对象。 screenRect.size.height
是从CGRect screenRect = [[UIScreen mainScreen] bounds];
获取的实际设备屏幕高度。我增加了UIScroll视图的高度,如下所示:
CGSize newFrame = (CGSize){0 , screenRect.size.height * numberOfItems};
[self.homeScroll setContentSize:newFrame];
按预期工作。
我已阅读关于收藏视图,但似乎不是解决方案。