【问题标题】:Remove white Space after hide views in scrollview?在滚动视图中隐藏视图后删除空格?
【发布时间】:2018-01-09 08:01:07
【问题描述】:

我有 UIScrollview,里面有动态视图(标签、图像视图)。我隐藏了一些视图,但那里有白色的空白区域。如何删除?

我尝试了下面的代码,但它不起作用,

[self.view addConstraint:[NSLayoutConstraint constraintWithItem:myView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:0]];

File Like 的布局:

-View

 -ScrollView

  -UIImageView

  -UIButton

  -UIButton

  -UILable

  -UILable

  -UIButton

  -UILable

  -UILable

【问题讨论】:

  • 你能提供任何截图吗?
  • 使用这个layoutsubviews,并在这个方法中改变你的约束。如果没有帮助,请在layoutIfNeeded 中尝试相同的操作。它会帮助你。
  • 请使用 Scrollview 下的视图以及该视图中的所有其他对象。
  • @AbhishekMitra 请看我添加的问题。所有视图都在滚动视图内
  • 使用UITableView 来达到你想要的效果怎么样?通过这样做,您可以使用绑定到 tableView 的数据源“隐藏”视图,然后更改数据源,允许 tableView 仅显示数据源中的内容。毕竟,UITableViewUIScrollView 的子类,它可以免费为您提供很多行为来实现您想要的。

标签: ios objective-c iphone


【解决方案1】:

只是隐藏视图无济于事,因为它仍然会发生。你有几个选择: 1. scrollView 中的每个视图都应该有高度限制,当需要隐藏时应该设置为 0。那你应该打电话

[scrollView setNeedsLayout];
[scrollView layoutIfNeeded];
  1. 您可以通过调用从 scrollView 中删除不需要的视图

[viewToHide removeFromSuperview];

【讨论】:

  • 感谢您的回答。如果我使用 [viewToHide removeFromSuperview];它会删除空间@CrazyJoeLv
猜你喜欢
  • 2014-06-30
  • 2019-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多