Objective c 滚动查看类似应用程序详细信息屏幕

Objective c 滚动查看类似应用程序详细信息屏幕,objective-c,cocoa-touch,uitableview,uiscrollview,Objective C,Cocoa Touch,Uitableview,Uiscrollview,我正在尝试找出创建类似AppStore应用程序中的应用程序详细信息屏幕的视图的最佳方法。我想要一个缩略图和文本内容下,所有的滚动,如果内容太长。这是在tableview还是scrollview中完成的?我在scrollview中做了一个。我用这种方法计算了每个元素框架的大小: - (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(UILineBreakMode)lineBreakMo

我正在尝试找出创建类似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;

请注意,许多标题标签属性是在IB中的标签上设置的。

我在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;

请注意,许多标题标签属性是在IB中的标签上设置的。

因此,您构建的视图是在IB中完成的,但您使用代码动态调整其大小?是的,但这只是因为我从IB开始,后来发现了如何格式化视图。你可以在Xcode中设置自己的标签,唯一的区别是你必须在代码中指定它们的字体和行高等。因此,你构建的视图是在IB中完成的,但你使用代码动态调整它的大小?是的,但那只是因为我从IB开始,后来发现了如何格式化视图。您可以在Xcode中设置自己的标签,唯一的区别是您必须在代码中指定它们的字体和行高等。