let scrollView = UIScrollView()
// 添加scrollView到父视图
// 添加多个子视图到scrollView
// let view1 = UIView()
// let view2 = UIView()
// ...
// scrollView.addSubview(view1)
// scrollView.addSubview(view2)
// ...
// 获取目标视图的frame
let targetView = scrollView.subviews[targetViewIndex]
let targetFrame = targetView.convert(targetView.bounds, to: scrollView)
// 计算目标视图的偏移量
let targetOffset = CGPoint(x: 0, y: targetFrame.origin.y - scrollView.contentInset.top)
// 判断目标视图是否在显示区域内
if scrollView.bounds.contains(targetFrame) {
// 目标视图在显示区域内,不进行滑动操作
// 可以在此处添加你的处理代码
} else {
// 目标视图不在显示区域内,滑动scrollView到目标位置
if targetOffset.y + scrollView.bounds.height > scrollView.contentSize.height {
// 目标偏移量超出了UIScrollView的可滑动范围
let maxOffset = CGPoint(x: 0, y: scrollView.contentSize.height - scrollView.bounds.height)
scrollView.setContentOffset(maxOffset, animated: true)
} else {
scrollView.setContentOffset(targetOffset, animated: true)
}
}
Swift scrollView中通过代码控制View的显示
最新推荐文章于 2024-10-07 19:01:55 发布