【问题标题】:How should I subtract hidden object heights from UIScrollView我应该如何从 UIScrollView 中减去隐藏对象的高度
【发布时间】:2016-02-07 04:40:16
【问题描述】:

我有一个滚动视图,底部有一个隐藏的 UIPicker,它隐藏在 viewDidLoad() 中。当用户点击按钮时,此 UIPicker 不会隐藏。我希望我的 UIScrollview 根据 UIPicker 是否可见自动调整其高度。

但是,我的滚动视图仍在尝试考虑 UIPicker 的高度,因此它比我想要的下降得更远。我正在尝试通过更改滚动视图的 contentSize 来解决此问题。

pickerHeight = graphTypePicker.frame.size.height
graphTypePicker.hidden = true
scrollView.contentSize = CGSizeMake(scrollView.contentSize.width, scrollView.contentSize.height - pickerHeight

但是,这不起作用。有什么建议?我之前尝试过弄乱框架高度,但这似乎也不起作用。

【问题讨论】:

  • 您在哪个函数中使用您问题中的那些代码?
  • 这一切都发生在viewDidLoad()

标签: ios swift uiscrollview


【解决方案1】:

这种情况下的常见做法是不将 UIPickerView 添加到您的 UIScrollView 中,而是将其添加到您的 UIViewController 的视图中。为避免 UIPickerView 隐藏 UIScrollView 的内容,请尝试在选择器出现时更改滚动视图的内容大小。 this question 的答案可能会对您有所帮助。

【讨论】:

  • 这不是我想做的。我不想将 UIPickerView 放在键盘通常存在的弹出框内。此外,如果我将 UIPickerView 添加到 UIViewController 而不是 UIScollView 那么它将位于 UIStackView 之外,它正在布置整个事情。更类似于youtube video (timestamp 18:55) 结尾处发生的情况。也许唯一的方法就是使用 tableview。
猜你喜欢
  • 2019-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-10
  • 2019-10-17
  • 2011-01-12
  • 1970-01-01
  • 2016-03-21
相关资源
最近更新 更多