首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在UIScrollView(Obj-C)中禁用垂直滚动

在UIScrollView(Obj-C)中禁用垂直滚动,可以通过以下方法实现:

  1. 禁用滚动功能

在UIScrollView的子类中,可以通过重写touchesBegan:withEvent:touchesMoved:withEvent:touchesEnded:withEvent:方法来禁用滚动功能。

代码语言:objective-c
复制
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [super touchesBegan:touches withEvent:event];
    [self.nextResponder touchesBegan:touches withEvent:event];
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    [super touchesMoved:touches withEvent:event];
    [self.nextResponder touchesMoved:touches withEvent:event];
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    [super touchesEnded:touches withEvent:event];
    [self.nextResponder touchesEnded:touches withEvent:event];
}
  1. 禁用滚动条

可以通过设置UIScrollView的showsVerticalScrollIndicator属性为NO来禁用垂直滚动条。

代码语言:objective-c
复制
self.scrollView.showsVerticalScrollIndicator = NO;
  1. 设置滚动范围

可以通过设置UIScrollView的contentSize属性来限制滚动范围,从而禁用垂直滚动。

代码语言:objective-c
复制
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width, self.scrollView.frame.size.height);

总结:通过以上方法,可以在UIScrollView(Obj-C)中禁用垂直滚动功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 【IOS开发基础系列】UIScrollView专题

    那么这里就有疑问了,既然该属性设置未来NO了,那么岂不是UIScrollView不能处理任何事件了,那么为何在子视图上快速滚动的时候,UIScrollView还能移动那。...(当你touch一个table, 停止了一会,然后开始scrolling,那一行就首先被highlight,但是随后就不在高亮了)         在滚动过程当中,其实是在修改原点坐标。...,手指放开但是还在继续滚动。...showsHorizontalScrollIndicator     滚动时是否显示水平滚动条 showsVerticalScrollIndicator     滚动时是否显示垂直滚动条 bounces...directionalLockEnabled     默认是 NO,可以在垂直和水平方向同时运动。当值是 YES 时,假如一开始是垂直或者是水平运动,那么接下来会锁定另外一个方向的滚动

    57930

    【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

    : UI 控件关闭后, 处于禁用状态; 禁用状态的控件不可操作, 禁用操作在 Interface Builder 取消 Enable 复选框; -- 选中 : 用于标识控件已启用 或 被选中, 选中状态可以不断持续...UITextView 简介 (1) UITextView 继承结构 UITextView 继承结构简介 :  -- 基类 : 继承了 UIScrollView : UIView 控件, 默认这些控件都自带滚动条...UIScrollView 属性简介 (1) UIScrollView 简介 UIScrollView 简介 :  -- 显示内容多 : 可滚动控件, 可以使用手指拖动控件的内容, 在其中可以显示多个屏幕的内容...Scroll View 时, 显示水平滚动条; -- Shows Vertical Indicator : 垂直滚动 ScrollView 时, 显示垂直滚动条; (4) Bounce 属性 Bounce...缩放限制, 迅速弹回;  -- Delays Content Touches : 手势完成后才能滚动 UIScrollView 控件, 如果没有勾选, 用户碰触该控件立即调用 touchesShouldBegin

    6.8K20

    UIScrollView的一步步实现1 简介1.1 工作原理1.2 UIScrollView常见的几个重要控件1.3 UIScrollView常见的重要属性1.4 手工代码实现拖动2 三个重要属性的进

    1 简介 UIScrollView 是负责滚动的视图。苹果最强大的地方就在于其良好的UI展示,和UE体验。如果不会很好的使用UIScrollView,就等于丧失了苹果一般的法力。...的滚动范围 contentOffset UIScrollView当前滚动的位置 contentInset 增加滚动视图四周的增加滚动范围 bounces 是否有弹簧效果,默认是开启的 scrollEnabled...是否能滚动 showsHorizontalScrollIndicator 是否显示水平方向的滚动条 showsVerticalScrollIndicator 是否显示垂直方向的滚动条 indicatorStyle...决定了水平方向滚动距离 contentSize 的 height 决定了垂直方向滚动距离 2.3 contenInset contentInset是用来设置内边距。...是在不改变原有的contentSize基础上,让scrollView的内容向四周多滚动一些。

    1.6K60

    用AutoLayout实现分页滚动

    滚动视图分页 UIScrollView的pagingEnabled属性用于控制是否按分页进行滚动。在一些应用中会应用到这一个特性,最典型的就是手机桌面的应用图标列表。...这些界面往往每一页功能都比较独立,系统也提供了UIPageViewController来实现这种分页滚动的功能。 实现分页滚动的UI实现一般是最外层一个UIScrollView。...容器视图添加N个页视图,对于水平分页滚动来说容器视图的高度和滚动视图一样,而宽度则是滚动视图的宽度乘以页视图的数量,页视图的尺寸则和滚动视图保持一致,对于垂直分页滚动来说容器视图的宽度和滚动视图一样,而高度则是滚动视图的高度乘以页视图的数量...流式布局用于一些子视图有规律排列的场景,就比如本例子滚动分页的图标列表的能力。下面就是具体的实现代码。...解决的办法就是在屏幕滚动时的相应回调处理方法修正这个contentOffset的值来解决这个问题。

    1.9K40

    MyLayout&TangramKit 的重大升级!

    比如一些界面中有父视图的尺寸由子视图的尺寸来确定的;还比如UIScrollView为了能实现滚动需要根据添加到里面的子视图来调整contentSize的尺寸;又比如某些UITableViewCell的高度是动态的...2.UIScrollView滚动 对于UIScrollView来说需要设置contentSize来实现滚动的能力。...如果不需要水平滚动则改为将容器视图的宽度等于UIScrollView视图的宽度。通过这样的设置后UIScrollView视图的contentSize将得到自动的计算。...2.UIScrollView滚动 MyLayout&TangramKit对于处理和UIScrollView进行结合时进行特殊处理,当将一个布局视图添加到滚动视图时,布局系统内部会负责处理滚动视图的contentSize...然后在UITableViewCell的派生类建立一个根布局视图,这个根布局视图作为子视图添加到contentView中代码如下: //假设根布局视图是一个垂直线性布局视图。

    2.1K20

    IOS5开发-UIScrollView添加单击事件的方法

    UIScrollView在开发是一个非常常用的控件,UIScrollView具有水平、垂直滚动和缩放效果。但是尽然没有响应单击事件这个事件。而这个事件在日常的交互是非常需要的。...下面我将用例子说明一下如何给UIScrollView添加一个单击的响应。...代码如下: 添加一个自定义的UIScrollView,命名:UITouchScrollView UITouchScrollView.h代码如下 #import <Foundation/Foundation.h...*)touches withEvent:(UIEvent *)event whichView:(id)scrollView; @end @interface UITouchScrollView : UIScrollView...但是这里注意一下 [self.nextResponder touchesEnded:touches withEvent:event];这句话的意思是将UIScrollView上的单击事件往下传递,传递到它的父

    1.9K70

    使用 UICollectionView 实现首页卡片轮播效果

    UICollectionView 是 iOS6 之后引入的一个新的 UI 控件,与 UITableView 有着很多相似的地方,在开发过程我们都会选择使用它们俩来为 App 的整个页面进行布局,比如说淘宝的首页...;相比 UITbleView,UICollectionView 的功能比它要强大的多,它支持水平与垂直俩种方向的布局,开发者可以完全自定义一套 layout 布局方案,实现出意想不到的效果。...JUST DO IT 想到滚动,大家首先想到的肯定是用 UIScrollView + UIImageView 的方式来实现,但是 UICollectionView 给我们提供了更好的选择,因为它本身继承自...UIScrollView 然后又支持横向滚动,所以使用 UICollectionView 来实现横向滚动效果是最好不过的。...self.collectionViewFlowLayout.itemSize.width) return max(0, index) } } } 第二点,由于这个轮播图滚动支持手动滚动与自动滚动俩种方式

    2K20

    小程序iOS客户端框架——控件事件逻辑框架与控件原生化(下)

    微信客户端为小程序的运行提供了框架支持,service运行环境、页面缓存机制以及控件原生化支持等,本文将对这些部分实现原理做一一介绍。 6....这一问题可以通过将H5的弹出组件都原生化得以解决,如上节提到的Toast、Alert、Picker、ActionSheet的原生化; 3 如果开发者在div滚动插入原生控件作为div的子节点,预期原生控件应该随着父节点...div滚动条的滚动而移动,并且超出div区域的内容应该被裁掉,但是由于原生控件是直接插入到webview下,与div之间没有关联,所以不会跟随移动也不会被裁减,在表现上会出现与开发者预期不一致的情况,影响用户体验...WKWebView控件下生成对应的iOS原生控件,通过分析,普通情况下生成的原生控件与HTML节点无对应关系,但是在某些特殊情况下,一些特殊DOM元素会在WebView的对应位置生成位置、大小完全一致的原生控件,包含...WEB端; c、当WEB端插入原生控件时,通过接口传入id通知客户端:该原生控件属于哪个div滚动条,客户端找到该滚动条对应的原生UIScrollView,并将控件插入到该UIScrollView下;

    2.9K40

    探究 css touch-action 属性

    See 这样的bug 然后找了一通发现可以用 *{touch-action:none}这个方法 用法是禁用元素(及其不可滚动的后代)上的所有手势,以使用自己提供的拖放和缩放行为(地图或游戏表面...可以与 pan-y 、pan-up、pan-down 和/或 pinch-zoom 组合使用 pan-y 启用单指垂直平移手势。...manipulation 浏览器只允许进行滚动和持续缩放操作。任何其它被auto值支持的行为不被支持。启用平移和缩小缩放手势,但禁用其他非标准手势,例如双击以进行缩放。...示例 最常见的用法是禁用元素(及其不可滚动的后代)上的所有手势,以使用自己提供的拖放和缩放行为(地图或游戏表面) #map { touch-action: none; } 另一种常见的模式是使用指针事件处理水平平移的图像轮播...,但不想干扰网页的垂直滚动或缩放。

    1.8K10

    iOS 面试策略之系统框架-UIScrollView及其子类

    如何定制不同 Cell 的 UI、如何与用户交互、如何与服务器端数据同步、如何在滑动时最大限度保证界面的流畅,这些都是考察的要点,是一个 iOS 工程师必备的基本技能。...关键词:#UIScrollView UIScrollView 上显示内容的区域被称为 contentView。...比如具体 item 的尺寸大小, item 之间的间距,header 和 footer 的大小和间距,以及 UICollectionView 的滚动方向。...9.说说实现预加载的方法 关键词:#网络传输 #无限滚动 #Threshold 在实际开发,列表经常需要随着滑动而不停的展示新的内容。在滑动到一定程度后,我们就需要发送网络请求,以获得新的数据。...这就是无限滚动列表。

    2.6K21

    Material Design — 菜单(Menus)

    菜单栏通常使用单个单词作为标签,“文件”,“格式”和“编辑”。其他上下文可能需要更长的标签。 禁用菜单选项 菜单显示一组一致的菜单项。...·与当前情景无关的菜单项可能会被删除 ·与情景相关但需要满足某些条件的菜单项可能被禁用置灰)。 例如,当选择文本后,“复制”这个菜单选项才变为可选择项。...可以内部滚动的菜单 级联菜单(仅限pc) 级联菜单可根据菜单与屏幕垂直和水平边缘的接近程度放置菜单。 ?...---- 简单菜单(Simple Menus) 移动端或pc 使用列表的简单菜单显示特定列表项的选项。 垂直对齐 靠近屏幕边缘时,简单菜单将垂直重新对齐,以使所有菜单项完全可见。...·如果简单菜单的文本长到需要换行,就改为使用Simple Dialogs,因为可以有不同高度的行(如下图)。 ? ·内容可滚动时,菜单一直显示滚动条。

    5.8K100

    UIWebView 浏览器控件一、初始化与三种加载方式二、常用属性和方法三、代理方法 UIWebViewDelegate四、其它案例:

    nonatomic, assign) id delegate; 2.内置的scrollView @property (nonatomic, readonly, retain) UIScrollView...默认情况下UIWebView加载HTML页面后,会以页面的原始大小进行显示,亦即如果页面的大小超出UIWebView视口大小,UIWebView会出现滚动效果,而且用户只能通过滚动页面来查看不同区域的内容...nonatomic) CGFloat gapBetweenPages; 17.获取分页数 @property (nonatomic, readonly) NSUInteger pageCount; 18.禁用页面滚动弹跳...这时需要使用一些CSS样式来达到这些效果,这些CSS只适用于IOS的Safari。 - -webkit-touch-callout 禁用长按触控对象弹出的菜单。...IOS,当你长按一个触控对象时,链接,safari会弹出包含链接信息的菜单。

    1.5K60

    iOS中高级开发人员跳槽涨薪必备面试问题

    UIScrollView 大概是如何实现的,它是如何捕捉、响应手势的? Objective-C 如何对已有的方法,添加自己的功能代码以实现类似记录日志这样的功能?...Objective-C ,meta-class 指的是什么? UIView 和 CALayer 之间的关系?...经验类问题 为什么 UIScrollView 的滚动会导致 NSTimer 失效? 为什么当 Core Animation 完成时,layer 又会恢复到原先的状态?...你会如何存储用户的一些敏感信息,登录的 token。 有用过一些开源组件吧,能简单说几个么,大概说说它们的使用场景实现。 什么时候会发生 EXC BAD ACCESS 异常?...综合类问题 设计一个可以无限滚动并且支持自动滚动的 SlideShow。 设计一个进度条。 设计一套大文件(如上百M的视频)下载方案。 如果让你来实现 dispatch_once,你会怎么做?

    1.1K00

    jimojianghu

    浏览器只允许进行滚动和持续缩放操作,任何其它被auto值支持的行为不被支持。 启用平移和缩小缩放手势,但禁用其他非标准手势,例如双击以进行缩放。...但需要注意滚轮默认事件,会导致子元素滚动失效,这时候就要在子元素上阻止相同事件冒泡。...特别是浏览器优化页面滚动时的性能,可以让页面滚动更顺滑。 在Chrome,wheel / touch 等事件的 passive 会默认设置为true,但Safari不支持。...由于目标被视为被动,因此无法在被动事件侦听器阻止默认行为。 可能的发生情景:移动端使用touch事件后,垂直平移时的报错。...方法一:使用 touch-action 样式来禁止垂直平移的默认行为 touch-action: pan-y; 方法二:监听 touch事件 ,明确设置 passive 为 false,声明不是被动的

    3.8K00
    领券