在我的应用程序的一部分中,单击按钮会创建一个新页面。但是,我希望该页面与我之前所在的页面完全相同,但只是它的一个新实例。在询问了在 SO 上执行此操作的最佳方法后,我了解到启用分页的 UIScrollView 是最好的方法。所以,我写了一些代码来尝试做我正在尝试的事情。但是,当我按下按钮时,应用程序就会崩溃。我假设它进入了某种递归(一次又一次地调用自己)。任何对可能错误的见解都会很棒。我可以确认所有插座都连接到它们在 StoryBoard 中的各自位置。
-(IBAction)createContainer:(id)sender {
[allScrollViews addObject:self.containerView];
for (int i = 0; i < allScrollViews.count; i++) {
CGRect frame;
frame.origin.x = self.containerView.frame.size.width * i;
frame.origin.y = 0;
frame.size = self.containerView.frame.size;
UIView *subview = self.view;
subview.backgroundColor = self.view.backgroundColor;
[self.containerView addSubview:subview];
}
self.containerView.contentSize = CGSizeMake(self.containerView.frame.size.width * allScrollViews.count, self.containerView.frame.size.height);
}
再一次,按下按钮必须几乎复制我所在的视图(ViewController.m),并在新页面上创建它的新实例。我的代码有望接近我想要完成的目标。
非常感谢!~地毯嘶嘶声
编辑:如果有帮助,应用程序崩溃时会突出显示:
0x2281b61: calll 0x2281b66 CA::Layer::ensure_transaction_recursively(CA::Transaction*) + 14