Swift scrollView中通过代码控制View的显示

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)
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值