我有我的scrollview,它拥有多个视图的问题。我认为问题是子视图正在发布。我在子视图按钮,当我点击按钮我得到这个错误,[GraphDisplayViewController performSelector:withObject:withObject:]:
ios多个视图滚动视图释放实例
消息发送到释放实例
。如果只有一个子视图,那么我可以只使用一个属性,这是有效的,但由于子视图的数量不同(一个或多个),它不起作用,我不知道如何解决这个问题。
我目前一开始就加载了所有的视图。我正在一次只加载一个子视图并将该属性分配给该视图,但我不确定这是否可行。我的布局如下,一个父视图(DetailViewController)包含一个滚动视图,我向视图添加视图(GraphDisplayViewController),每个子视图加载一个视图(GraphView)。
任何帮助或建议将不胜感激。如果您需要更多详情,请告诉我。感谢您的时间。
的我如何添加子视图代码示例,
DetailViewController
- (void)loadScrollViewWithPage:(int)page
{
if (page < 0) return;
if (page >= pageControl.numberOfPages) return;
subView = [viewControllers objectAtIndex:page];
NSString *description;
NSString *packsize;
if ((NSNull *)subView == [NSNull null])
{
subView = [[GraphDisplayViewController alloc] initWithNibName:@"GraphDisplayViewController" bundle:nil];
[viewControllers replaceObjectAtIndex:page withObject:subView];
subView = [[GraphDisplayViewController alloc] init];
subView.molecule = moleculeName;
subView.description = description;
subView.dataArray = moleculePrices;
}
else
{
return;
}
// add the controller's view to the scroll view
if (nil == subView.view.superview)
{
CGRect frame = scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
subView.view.frame = frame;
[scrollView addSubview:subView.view];
}
}
UPDATE 有一个在代码中的错误,测试,看看是否能解决什么
subView = [[GraphDisplayViewController alloc] initWithNibName:@"GraphDisplayViewController" bundle:nil];
[viewControllers replaceObjectAtIndex:page withObject:subView];
subView = [[GraphDisplayViewController alloc] init]; <- Mistake
如何声明'subview'? (如果是属性,请使用'self.subView'来引用它。) –