2012-03-16 57 views
1

我使用下面的代码来初始化一个Home类的实例(Home.m Home.h Home.xib),Home.m是Home.xib的viewcontroller ,我在Home.xib的视图中添加了一个UIButton,然后在另一个viewcontroller中初始化Home实例,并将其添加到UIScrollView实例中。IOS:添加子视图(UIView)到UIScrollView实例的问题

问题是,当我点击从Home创建的子视图中的按钮时,应用程序崩溃。任何帮助?!

CGFloat yOrigin = i* self.view.frame.size.width; 
Home *newView = [[Home alloc] initWithNibName:@"Home" bundle:nil]; 
newView.view.frame = CGRectMake(yOrigin, 0, self.view.frame.size.width, self.view.frame.size.height); 
[scroll addSubview:[newView view]]; 
[newView release]; 
+0

请发布您的崩溃日志,以及您的主页是什么? – 2012-03-16 10:22:30

回答

0

将视图控制器的视图作为子视图添加到另一个视图时,您需要保留视图控制器。视图控制器,而其视图被保留在这里将被释放,这可能是失事的根源

(崩溃日志将帮助)

+0

非常感谢,问题解决了。 – Samblg 2012-03-16 12:20:39

0

你到底要干什么?

在您发布的代码,

  • 1 - 你的Alloc您的视图控制器(首页)
  • 2 - 你的主页的子视图添加到另一个视图
  • 3-你释放你的家。

因此保留Home的计数为0,所以在执行循环结束时,Home被删除,它的视图也被删除。

将你的Home ViewController放在你的.h文件中,在创建类时进行分配并在dealloc中释放它。