我是一个很长时间的网络人物,他对iphone开发很新颖。我发现很多问题是因为网页方面的问题而产生的,所以很可能我只是没有在这个问题上提出正确的问题。尽管如此,经过几个小时浇筑谷歌的结果和stackoverflow页面,时间把这个问题扔出去:iphone:部分屏幕UIScrollView
我想建立一个视图,在最顶部有一些静态/不移动的东西(例如,下面显示的内容的标题),并允许“页面”的其余部分滚动。
现在我的思维过程是创建一个视图,它保存静态部分和空白空间,然后以某种方式将scrollview添加到该空白空间,但这是我的知识枯竭的地方。
代码明智的,它看起来是这样的(我已经添加评论显示在使用此代码我的思维过程):
DetailsWrapper.m:
-(void)viewDidLoad {
//initialize details view (custom constructor that populates some stuff)
//ListingDetails is a subclass of UIViewController whose view is set to be a UIScrollView created in IB
//the viewDidLoad method of ListingDetails sets the contentSize of the scroll view
ListingDetails *details = [[ListingDetails alloc] initWithNibName:@"ListingDetails" andListingData:theListing];
//create an empty view that takes up all but the top 45px of the iphone screen
CGRect scrollArea = CGRectMake(0.0f, 45.0f, 320.0f, 435.0f);
UIView *scrollView = [[UIView alloc] initWithFrame:scrollArea];
//add the UIScrollView to the space we just made
[scrollView addSubview:details.view];
//now show it
[self.view addSubview:scrollView];
//cleanup
[scrollView release];
[details release];
}
这一切都工作正常,丹迪,并正确地拉内容,小问题,滚动视图实际上不滚动...滚动。如果我试图正常地添加ListingDetails视图,而不使用这个包装器,滚动工作得很好,但是我正在做的(或不做的)是让滚动功能停止。
我在想这个全错吗?最终目标是获得一个屏幕,其中一部分滚动,一部分不滚动,因此,如果忽略上述所有散乱的内容并解决这个问题,那就去做吧。
啊......你让* scrollView成为一个UIScrollView本身,而不是只有一个作为它的子视图。这似乎是诀窍。现在看看我是否可以设法停止堆叠ViewControllers在另一个之上... – 2011-02-22 20:27:13