【问题标题】:How can UIScrollView automatically wrap the content? [closed]UIScrollView 如何自动包装内容? [关闭]
【发布时间】:2013-01-17 14:01:56
【问题描述】:

我非常想为我的UIScrollView 问题找到任何解决方案,我知道这个论坛中有很多讨论,但我找不到任何合适的解决方案。

我的问题是我的scrollview 中只有从数据库加载的标签和图像。所以我不知道标签有多长。我的scrollview 的高度为 615(在界面生成器中),如果我用这个高度初始化这个 scrollview,它就不会滚动。

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

我的视图控制器的结构如下所示: - 导航控制器 - 视图控制器 - 看法 - 滚动视图 - 标签1 - 标签2 - 标签...

【问题讨论】:

  • 以编程方式设置 ScrolllView 的 contentSize 和 FramSize

标签: iphone ios xcode uiviewcontroller uiscrollview


【解决方案1】:

您需要采取以下小步骤:

  • 设置您的滚动视图大小不超过屏幕大小(即 (320, 480) 到 iPhone 4 和 (320, 568) 到 iPhone5),例如:

    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是所有labels和imageView的累积高度,heightOfVerticalSpaces是子视图之间所有垂直空间的累积高度。就我所知,这就是你做这件事后最好的选择。

【讨论】:

  • 感谢您的回答,但如何计算所有空白的高度?
  • 嗯,当我说空格时,我实际上是指标签和图像视图之间的垂直空间。我已经更新了我的答案。 :)
  • 好的,现在我得到了正确的高度,但我现在有另一个问题 -.- 当我向下滚动然后单击标签栏中的另一个标签项然后返回时到这个 UIScrollView 我不能再向上滚动了。我必须再次单击另一个选项卡栏项目并再次返回 UIScrollView,然后再次正确显示。这很不舒服 imo。
  • “如果有帮助”请接受此答案,并为下一期发布另一个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-15
  • 2015-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多