我正在尝试找出在AppStore应用中创建视图的最佳方式,例如应用详细信息屏幕。我想要一个缩略图和文本内容,如果内容太长,所有内容都会滚动。这是在tableview还是scrollview中完成的?
答案 0 :(得分:3)
我在滚动视图中创建了一个。我从这个方法计算了每个元素框架的大小:
- (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中的标签上设置的。