UIScrollView如何自动包装内容?

时间:2013-02-02 08:42:06

标签: iphone ios xcode uiviewcontroller uiscrollview

我绝望地试图找到我UIScrollView问题的任何解决方案,我知道在这个论坛上有很多讨论,但我找不到合适的解决方案。

我的问题是我只有scrollview中从数据库加载的标签和图片。所以我不知道标签有多长。我scrollview的高度为615(在界面构建器中),如果我使用此高度初始化此scrollview,则不会滚动。

所以我的问题是,在从数据库加载文本后,我怎么知道我的身高呢?如果这对高度很重要,我在这个ViewController中还有一个导航栏和一个标签栏?

我的viewcontroller的结构如下所示:   - NavigationController      - ViewController       - 查看        - ScrollView         - Label1         - Label2         - 标签......

1 个答案:

答案 0 :(得分:1)

您需要采取以下小步骤:

  • 将您的滚动视图大小设置为不超过屏幕大小(即(320,480)至iPhone 4和(iPhone,5,520,568)),如:

    CGSize screenSize = [[UIScreen mainScreen] bounds].size;
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, screenSize.width, screenSize.height)];
    
  • 现在设置scrollView

    的内容大小
    [scrollView setContentSize:CGSizeMake(320, heightOfAllSubViews + heightOfVerticalSpaces)];
    

    此处heightOfAllSubViews是所有标签和imageView的累积高度,heightOfVerticalSpaces是子视图之间所有垂直空间的累积高度。据我所知,你这样做会很好。