scrollView中的分页功能及影响

简介: scrollView中的分页功能及影响

scrollView中的pagingEnabled的功能,当pagingEnabled被设置为YES时,以页为单位滑动,即自动到下一页的开始边界 。

若你自己做一个工具条(《滑动工具条》),文字的长度不固定并不能达到正好一屏,当pagingEnabled被设置为YES时,当你滑动工具条并点击按钮刷新ui,有几率出现工具条自动弹回的效果,导致右侧的内容不能完全显示。如用iPhone XR手机没有出问题,但是iPhone 12就出现了不期望的弹回效果。解决办法就是把pagingEnabled被设置为NO。

当然它的影响也并不是都是负面的,当你需要一次移动一个整体单位时就需要设置它使能。

    self.alertBackgroundView = [[UIScrollView alloc] initWithFrame:self.frame];
    self.alertBackgroundView.backgroundColor = [UIColor clearColor];
    [self addSubview:self.alertBackgroundView];
    self.alertBackgroundView.delegate = self;
    self.alertBackgroundView.pagingEnabled = NO;
    self.alertBackgroundView.bounces = NO;
    self.alertBackgroundView.showsHorizontalScrollIndicator = NO;
    self.alertBackgroundView.scrollsToTop = NO;
    self.alertBackgroundView.contentSize = CGSizeMake(self.totalWidth, self.frame.size.height);
```![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20210520174658992.JPG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYTEyMjE2,size_16,color_FFFFFF,t_70)
工具条被滑动到最右边
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20210520174725138.JPG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYTEyMjE2,size_16,color_FFFFFF,t_70)
点击最右侧按钮文字,被自动左移动
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/20210520174838409.JPG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ppYTEyMjE2,size_16,color_FFFFFF,t_70)
重新滑动到最右侧的按钮显示

```cpp
- (void)hitAction:(UIButton *)sender {
    if(self.isSendindRequest)
    {
        return;
    }
    NSUInteger index = sender.tag;
    if(index == self.selectIndex)
    {
        return;
    }
    [self updateBtnWithIndex:index];
    if (self.hitCallback) {
        self.hitCallback(sender.tag);
    }
}
目录
相关文章
|
23天前
表格横向布局及分页实现原理
表格横向布局及分页实现原理
18 0
|
8月前
|
存储 前端开发 容器
uniapp瀑布流:他的数据是纵向渲染,怎么实现动态上拉加载数据?
uniapp瀑布流:他的数据是纵向渲染,怎么实现动态上拉加载数据?
48 0
|
存储 缓存 算法
更高效地刷新 RecyclerView | DiffUtil二次封装
每次数据变化都全量刷新整个列表是很奢侈的,不仅整个列表会闪烁一下,而且所有可见表项都会重新绑定一遍数据。这一篇对 DiffUtil 进行二次封装以让其更易于使用。
536 0
|
Web App开发 JavaScript 前端开发
我优化了进度条,页面性能竟提高了70%
大家好,我是零一。最近我准备在组里进行代码串讲,所以我梳理了下项目之前的业务代码。在梳理的过程中,我看到了有个进度条组件写的非常好,这又想起我刚开始学前端时写的进度条的代码,跟这个比起来真的差距太大了(大部分的初学者应该都想不到,而且我第一次实习的公司带我的mentor亦是如此)。 因此,我想给大家分享一下这个思路极好的进度条组件,同时它也存在非常严重的性能问题,本文末尾也会讲解一下问题所在以及优化方式
231 0
我优化了进度条,页面性能竟提高了70%
|
算法 数据库 内存技术
【视频】自然框架之分页控件的使用方法(一) PostBack方式的一般分页方式
前言:分页控件的优点   1、 按需所取 —— 需要几条记录就从数据库里提取几条记录,不会多取。 2、 使用简单 —— 设置几个属性就可以实现分页的功能。 3、 多种分页算法 —— (即分页用的SQL语句)可以根据不同的需求灵活选择 4、 支持多种数据库 —— 用不同的分页算法对应不同的数据库。
1093 0
|
前端开发 容器
用MVVM模式开发中遇到的零散问题总结(5)——将动态加载的可视元素保存为图片的控件,Binding刷新的时机
原文:用MVVM模式开发中遇到的零散问题总结(5)——将动态加载的可视元素保存为图片的控件,Binding刷新的时机       在项目开发中经常会遇到这样一种情况,就是需要将用户填写的信息排版到一张表单中,供打印或存档。
801 0

热门文章

最新文章