2010-02-05 52 views
0

我有3个ViewControllers 1.Main 2.Gallery 3.Text。我的问题是我有GalleryViewController使用名为GalleryItemView的外部UIView。所以一旦视图控制器在UIView里调用这个,我有一个改变子视图的按钮,所以我使用[super addSubView:newView]; eveything工程出色,但是当我返回到GalleryViewController时,我的应用程序崩溃,所以即时猜测我做错了。也是我注意到的是,一旦我改变视图从按下按钮内的GalleryViewController带我到菜单,当我做一个滑动手势它滚动水平,我有一个scrollview在GalleryViewController类,所以也许我做的是添加一个子视图ScrollView任何人都知道我可以解决这个问题?试图删除超级ViewController,但坚持在视图?

回答

1

对于初学者:

[super addSubView:newView]; 

是非常不正确。

添加视图到视图控制器,你想要做的

[self.view addSubview:galleryItemView]; 
[self.view bringSubviewToFront:galleryItemView]; 

如果你认为你已经正确添加它,你可以做到以下几点,以验证:

if ([galleryItemView.superview isKindOfClass:[UIScrollView class]]){ 
    NSLog(@"galleryItemView's parent is a scrollview"); 
} 

请发布如果你仍然有问题,会崩溃。

+0

你好大卫谢谢你的回答我还没有尝试过;但我会在我回家的时候。我想在[super addSubView:newView]中使用注释,是在UIView本身,所以这阻止了我使用[self.view addSubview:galleryItemView];我得到一个编译器错误,说self.view不在联合。更改视图的按钮位于UIView上 – Silent 2010-02-09 22:17:05

相关问题