【发布时间】:2017-09-03 19:27:12
【问题描述】:
以下是当前的实现。灰色按钮浮动在滚动视图上。一旦到达黄色视图(滚动视图结束),有没有办法让按钮出现。然后让它漂浮在屏幕的最底部。
我正在使用以下代码:
override func scrollViewDidScroll(scrollView: UIScrollView) {
if (scrollView.contentOffset.y >= (scrollView.contentSize.height - scrollView.frame.size.height)) {
//reached bottom - how to show button below yellow
// and keep it floating as shown above
}
}
添加到目前为止我尝试过的其他代码:
@IBOutlet weak var btnScroll: UIButton!
var startingFrame : CGRect!
var endingFrame : CGRect!
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if (scrollView.contentOffset.y >= (scrollView.contentSize.height - scrollView.frame.size.height)) && self.btnScroll.isHidden {
self.btnScroll.isHidden = false
self.btnScroll.frame = startingFrame // outside of screen somewhere in bottom
UIView.animate(withDuration: 1.0) {
self.btnScroll.frame = self.endingFrame // where it should be placed
}
}
}
func configureSizes() {
let screenSize = UIScreen.main.bounds
let screenWidth = screenSize.width
let screenHeight = screenSize.height
startingFrame = CGRect(x: 0, y: screenHeight+100, width: screenWidth, height: 100)
endingFrame = CGRect(x: 0, y: screenHeight-100, width: screenWidth, height: 100)
}
override func viewDidLoad() {
super.viewDidLoad()
configureSizes()
}
【问题讨论】:
-
您可以隐藏/取消隐藏您已经计算和评论的 if 语句中的按钮吗?还是您想实现的其他目标?
-
@Sneak 感谢您的回复!当用户查看
UIScrollView内容时,该按钮不会出现。它看起来好像躺在黄色的视野下。一旦它出现在屏幕上,它需要如上图所示持续存在。通过上述方法取消隐藏,它会不会突然出现在屏幕上而不是出现在黄色视图下方?再次感谢你。你能帮忙吗? -
嗯,您可以简单地使用 UIView 动画方法将其动画到屏幕上,一旦动画完成,如果您不想再次隐藏它,您可以将其保留在那里。这是一个例子:stackoverflow.com/questions/42326892/…
标签: ios swift uiscrollview