UIButton을 부동 상태로 유지하는 방법 scrollViewDidScroll (_ scrollView : UIScrollView)이 바닥에 도달 했습니까?
다음은 현재 구현입니다. 회색 버튼은 스크롤 뷰에서 부동입니다. 노란색보기 (스크롤보기 끝)에 도달하면 버튼을 표시하는 방법이 있습니까? 그런 다음 맨 아래 화면에 떠있게하십시오. 내가 바로 당신이 원하는 당신을 이해한다면
@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 문에 이미 계산 주석이 버튼을 숨기기를 취소하기 전에 당신의 버튼을 숨기려면이 코드를 추가 ? 아니면 달성하기를 원하는 것입니까? –
@ 가짜 감사합니다. 응답 해 주셔서 감사합니다. 사용자가'UIScrollView' 내용을 볼 때 버튼은 나타나지 않을 것입니다. 마치 노란색으로 보였던 것처럼 보입니다. 일단 화면에 나타나면 위의 그림과 같이 지속되어야합니다. 위의 방법으로 숨김으로써 노란색보기 아래에있는 것처럼 보이지 않고 화면에 갑자기 나타나지 않습니까? 다시 감사합니다. 도와 주실 수 있겠습니까? –
음, UIView 애니메이션 메서드를 사용하여 화면에 애니메이션을 적용 할 수 있습니다. 일단 애니메이션이 끝나면 다시 숨기지 않고 그대로 둘 수 있습니다. 다음은 그 예입니다 : https://stackoverflow.com/questions/42326892/uiview-appereance-from-bottom-to-top-and-vice-versacore-animation –