像应用程序详细信息屏幕滚动视图

问题描述:

我想找出在AppStore应用程序中创建视图像应用程序详细信息屏幕的最佳方式。我想要一个缩略图和下面的文本内容,如果内容太长,所有滚动。这是在tableview还是scrollview中完成的?像应用程序详细信息屏幕滚动视图

我在scrollview中做了一个。我用这种方法计算了每个元素的帧大小:

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMode 

我在每个标签后面添加了一个y大小的运行总数。最后,如果滚动视图超过了一定的大小(我的页面的长度),我将这个大小放到了滚动视图中,最后增加了一点,所以它不会撞到底部。

下面是一些代码:

int currentYPos; 
CGSize maximumSize = CGSizeMake(300, 9999); 
[scrollView setCanCancelContentTouches:NO]; 
scrollView.indicatorStyle = UIScrollViewIndicatorStyleDefault; 
scrollView.clipsToBounds = YES; 
scrollView.scrollEnabled = YES; 

scrollView.pagingEnabled = NO; 

// set the title frame size 
self.titleLabel.text = self.title; 

CGSize titleSize = [self.titleLabel.text sizeWithFont:self.titleLabel.font 
     constrainedToSize:maximumSize 
    lineBreakMode:self.titleLabel.lineBreakMode]; 

currentYPos = titleSize.height + 20; 

CGRect titleFrame = CGRectMake(10, 0, 300, currentYPos); 
self.titleLabel.frame = titleFrame; 

注意,许多titleLabel属性分别设置在IB的标签上。

+0

所以你建立的视图是在IB完成的,但是你使用代码来动态调整它的大小? – SonnyBurnette 2009-08-31 11:14:27

+0

是的,但那只是因为我从IB开始,后来发现如何格式化视图。你可以在Xcode中设置你自己的标签,唯一的区别是你必须在代码中指定他们的字体和行高等。 – 2009-08-31 13:24:44