首页 > 其他分享 >使UIScrollView的子控件在scrolling的过程中,子控件不滚动(固定在某个位置)

使UIScrollView的子控件在scrolling的过程中,子控件不滚动(固定在某个位置)

时间:2023-05-21 23:01:07浏览次数:43  
标签:控件 UIScrollView self scrollView letter scrolling frame


使UIScrollView的子控件在scrolling的过程中,子控件不滚动(固定在某个位置)


受本篇问答的启发

http://stackoverflow.com/questions/11272847/make-uiview-in-uiscrollview-stick-to-the-top-when-scrolled-up


修改代码如下

注意:使UIScrollView的子控件self.letter在scrolling的过程中,子控件self.letter向上不滚动(固定在某个位置),向下可随着self.scrollView一起滚动

其中self.letterY是在self.letter(本身是一个UIView)初始化的时候把自身的frame.origin.Y值存储到全局变量self.letterY中

#pragma mark UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
        CGPoint point = scrollView.contentOffset;
        CGFloat Y = point.y;
        CGRect frame = self.letter.frame;
        if (Y > 0) {
            if (Y <= (self.letterY + 35)) {
                frame.origin.y = self.letterY + Y;
            } else {
                frame.origin.y = Y;
            }
        } else {
            frame.origin.y = self.letterY;
        }
        self.letter.frame = frame;
        
        if (point.y > 95) {
            scrollView.contentOffset = CGPointMake(point.x, 95);
        }
}





标签:控件,UIScrollView,self,scrollView,letter,scrolling,frame
From: https://blog.51cto.com/u_14062833/6320553

相关文章

  • StackOverView又一个Android 5.0 任务管理器控件。这次这个比上次那个(MaterialRecents
    StackOverView视图布局(ViewLayout)★★★★★2015-09-2120:21147kbAndroidStudio1075次165次https://github.com/Bossyao168/StackOverView卡片,任务下载 收藏 Bossyao168 / StackOverViewacustomwidgetofandroid,liketaskmanagerofandr......
  • 【记录一下】修正lazarus fr报表控件在龙芯电脑不能使用QRcode的Bug
    近日海南朋友使用fr控件时发现不能在报表插入QRCode和PDF417等二维码,经跟踪发现只需将frxBarcodePDF417.pas第1592行将A:=TInt(ERROR_LEVEL[errorLevel]);改为:A:=@(ERROR_LEVEL[errorLevel]);就可以正常插入QRCode等二维码了,如果你使用过程也遇到同样问题可参考一下......
  • 报表控件FastReport VCL v2023.2 - 将Delphi 产品整合到单一系统
    FastReport 是功能齐全的报表控件,可以帮助开发者可以快速并高效地为.NET,VCL,COM,ActiveX应用程序添加报表支持,由于其独特的编程原则,现在已经成为了Delphi平台最优秀的报表控件,支持将编程开发中的报表信息输出为TXT、PDF等多种文件格式,是编程开发人员必备的报表工具。FastReportVC......
  • 界面控件DevExpress Blazor UI v22.2 - 报表、富文本编辑器组件增强
    DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpressDashboardeXpressApp框架、适用于VisualStudio的CodeRush等一系列辅助工具,该组件拥有众多新产品和数十个具有高影响力的功能,可为桌面、Web和移动应用提供直观的解决方案,全面解决各种使用场......
  • 第3章 数据库操作-通过DataGridView控件进行数据库的操作
    通过DataGridView控件进行数据库的操作usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingS......
  • ProgressBar 进度控件
    在VB.NET中,你可以使用ProgressBar控件或者自定义的进度提示方法来实现这个功能。以下是一个示例代码,展示如何使用ProgressBar控件来显示导入情况:'创建一个ProgressBar控件DimprogressBarAsNewProgressBar()progressBar.Minimum=0progressBar.Maximum=totalC......
  • 界面控件DevExtreme使用指南 - 如何为雷达图添加注释?
    在之前的版本中,官方技术团队为DevExtreme图表引入了注释支持。在v20.1版本中,继续扩展了对PolarChart(雷达图)注释的支持,现在可以根据需要应用文本、图像或自定义注释。创建注释后,可以将其附加到PolarChart(雷达图)元素(例如一个序列点)或在特定坐标上显示它。DevExtreme拥有高性能......
  • Android 控件之Notification
    [quote]最近一直在研究android,并一边研究一边做应用。其中遇到了把程序通知常驻在Notification栏,并且不能被clear掉的问题。虽然notify()的第一个参数可以写死并clear掉,但这个值我并不想写死,但是这个值如果是随机生成一个数怎么传给Activity,用Intent当中的Bu......
  • 第9-1讲,scale 范围控件
    为了提供友好的交互方式,你可以使用范围控件,假设用户在你的应用程序里选择商品,你可以给他提供一个价格范围选择控件,下面是效果图 我希望随着滑块的移动,黄色区域可以显示所选取的价格示例代码importtkinterastkwindow=tk.Tk()window.title('scale')window.geometry("5......
  • 多个 ComboBox 控件绑定同一数据源,数据会联动(其中一个选择项改变的时候,其余也会跟着变
    问题:在Winform开发中,两个ComboBox控件绑定了同一个数据源List<T>,但是在使用的时候发现,选择其中一个ComboBox的时候,另一个也会跟着变化。原因:内存中只有一份数据,改变任何一个ComboBox都会使得数据源有所变化,导致其他ComboBox的展示效果发生联动。解决:将数据源进行复制,相当于为每......