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

Objective-C Tableview停止禁用的行表单移动

Objective-C是一种面向对象的编程语言,常用于iOS和macOS应用程序的开发。Tableview是一种用于展示和管理大量数据的视图控件,可以以列表的形式显示数据,并支持用户交互操作。

在Tableview中,禁用的行表单指的是不允许用户对其进行移动操作的行。要停止禁用的行表单移动,可以通过以下步骤实现:

  1. 首先,确保Tableview的代理对象已经设置,并实现了Tableview的代理方法。
  2. 在代理方法tableView:canMoveRowAtIndexPath:中,返回一个布尔值来指示指定行是否可以移动。对于禁用的行表单,可以返回NO,表示不允许移动。
  3. 在代理方法tableView:targetIndexPathForMoveFromRowAtIndexPath:toProposedIndexPath:中,返回一个新的目标IndexPath,用于指定行移动的目标位置。对于禁用的行表单,可以返回原始的IndexPath,即不改变其位置。

下面是一个示例代码:

代码语言:txt
复制
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
    // 判断是否为禁用的行表单,如果是则返回NO
    if (indexPath.row == 2) {
        return NO;
    }
    return YES;
}

- (NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath {
    // 判断是否为禁用的行表单,如果是则返回原始的IndexPath
    if (proposedDestinationIndexPath.row == 2) {
        return sourceIndexPath;
    }
    return proposedDestinationIndexPath;
}

通过以上代码,禁用的行表单将无法被移动,而其他行则可以自由移动。

Objective-C Tableview停止禁用的行表单移动的应用场景包括但不限于:

  • 在一个表单中,某些行的数据是固定的,不允许用户进行移动操作,例如表单的标题行或者固定的功能行。
  • 在一个任务列表中,某些任务是不可编辑的,不允许用户改变其顺序。

对于Objective-C开发者,腾讯云提供了一系列的云服务和产品,可以帮助开发者构建和部署应用程序。具体推荐的腾讯云产品和产品介绍链接地址可以参考腾讯云官方文档或者咨询腾讯云的客服人员。

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

相关·内容

Ios常用第三方框架(二)

ios-charts - 一款优秀 Android 图表开源库 MPAndroidChart Swift 语言实现版(支持 Objective-C 和 Swift 调用)。...缺省提供示例代码为 Objective-C。 TEAChart - xhacker/TEAChart 一个简洁 iOS 图表库,支持柱状图、饼图以及日历等。...表相关与Tabbar SWTableViewCell - 国内开源作者,带很多手势表单元格。 MCSwipeTableViewCell - 带很多手势表单元格。...Eureka.swift - Eureka 是 XLForm Swift 移植版本, 一个可以帮助开发者们快速构建 iOS 各种复杂表单库, 具有较高可扩展性, 方便自定制样式。...实现教程 XWCatergoryView - 一个轻量级顶部分类视图控件,只需要通过简单设置,你就可以快速集成该控件, 控件目前暂时有底部横条移动,椭圆背景移动,文字缩放,文字颜色变化,和文字颜色渐变五种效果

7.7K60
  • 基于 HTML5 Canvas 属性值点击出现多选项制作

    函数,这个函数参数分别为(表单组件 formP,表单组件宽 w,表单组件高 h,表单组件中按钮点击生成弹出框中表格组件 tableP,表格组件中数组内容 arr,cb 函数将双击表格组件中返回值赋值给...第一个参数 formP 表单组件创建,表单组件创建就是创建一个表单组件,在表单组件中添加一个文本框以及一个按钮,这个步骤在 HT 中也是相当简单:function createFormPane(tPane...closable: true,//表示是否显示关闭按钮 maximizable: true,//表示对话框是否可被最大化 resizeMode: "wh",//鼠标移动到对话框右下角可改变对话框大小...var id = tableView.getRowIndex(data);//返回data对象所在索引 ht.Default.drawText(g, 'row' +...];//data.getAttr('index') if (cb) cb(v); //如果传入了cb参数,则设置data.a('number')/data.a('helloName')值为表格中被双击那一

    1.9K20

    原 快速创建 HTML5 Canvas 电

    fillFormPane 函数,这个函数参数分别为(表单组件 formP,表单组件宽 w,表单组件高 h,表单组件中按钮点击生成弹出框中表格组件 tableP,表格组件中数组内容 arr,cb...函数将双击表格组件中返回值赋值给 form 表单 ht.widget.TextField 文本框)。...第一个参数 formP 表单组件创建,表单组件创建就是创建一个表单组件,在表单组件中添加一个文本框以及一个按钮,这个步骤在 HT 中也是相当简单: function createFormPane...,然后向表单组件中添加列,步骤简单,代码也相当简单: function createTableView(arr, dm){//创建表格组件 var tableView = new ht.widget.TableView...var id = tableView.getRowIndex(data);//返回data对象所在索引 ht.Default.drawText(g, 'row' +

    1.4K20

    埋点统计~~从UITableView数据曝光说起

    控件在iOS移动端承载这丰富信息输出,用户在使用浏览中会留下丰富数据采集信息 A用户会慢慢逐条浏览呈现产品 B用户往往会快速滑动进行浏览 C用户会快速翻页进行浏览 上面的三种用户基本涵盖了这个...UII所能涵盖大部分用户行为,伴随着产生用户做分析采集即可分辨出用户兴趣点 产品曝光度 用户对商品兴趣等一系列 UITableView数据条目曝光 UITableView中用户浏览到商品条目...对于用户滑动过程中忽略掉条目比较复杂--上滑 下滑 手指按着屏幕滑动 在讲解之前我们先要处理一个问题:怎么判断屏幕滑动方向 在系统中我们根据给定Pan手势移动来判断 extension UIScrollView...准备滑动前 1按照屏幕上滑直到松手 对于这种情况来说是不会出现略过情况 2 点着屏幕迅速向上划一下 对对于这中情况来说,屏幕会在惯性作用下自由上滑一段后减速,然后停止。...而这个简单过程也可分为两种 1 滑动一小段就停止,那么所有展示商品对于用户都是可见,也就不需要采集这部分数据 2 滑动超过了一个屏幕甚至更多,那么这时候就会有部分商品是被快速划过,用户没有看到。

    1.4K32

    iOS操作属性列表plist(增删改查)

    引 iOS存储方式之一——属性列表plist,还是经常见到,可以很方便用来管理一些有序批量数据,特别是用来显示固定内容到表单上时,不需要在代码中反复地繁琐编写数组,而可以在plist属性列表中进行可视化操作...这里只要简单地提供表单行数一级每一内容就可以了,我们通过刚才数组,通过行数来获取对应位置plist内容: //ViewController.m文件中 #pragma mark...TableView Data Source Methods // 表单行数 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection...,在viewDidLoad方法中: //ViewController.m文件中 // 去除多余表单线条 self.tableView.tableFooterView = [[UIView...reloadData];// 重置表单 效果如图: 对于plist基本操作就是这样啦,还是蛮方便

    1.5K20

    AsyncDisplayKit 2.0 教程:入门「译」

    在第二部分中,你将学习如何构建自己 node subclass,以及如何使用ASDK强大布局引擎。为了更好完成本教程,你需要会使用 Xcode 以及 熟悉 Objective-C。...出于这些原因,本系列将重点介绍 Objective-C。话虽这么说,我们已经包括了一个Swift版本实例项目。(嘴上说没有,代码还是很诚实~) 开始 首先,下载初始项目。...separatorStyle 代码。...通常,该范围前侧大于后侧。当用户改变其滚动方向时,范围大小也是相反,以便于对应用户实际移动方向。 Node接口状态回调 你可能会疑惑:这些 Ranges 是如何正确工作?...ASRangeController 负责管理 ASCellNode 在 scrolView 上移动,每个subNode 都由一个 interfaceState 属性做对应更新。

    2.1K20

    在iOS中怎样创建可展开Table View?(下)

    开始我们需要知道点击索引(记住,不是实际indexPath.row)而是可见cell索引,所以我们将会开始在下面的tableView代理方法里给它分配一个局部变量: func tableView...:在上面的代码我们只是改变一些cell"isVisible"值,那意味着,可见总数已经改变了.所以,在我们重新加载tableView之前,我们需要app找到可见索引值: func tableView...isVisible"属性,因此可见数量改变了.....尽管这个示例app表单是假,但是也是可以存在真实app中.在它代表一个完整组件之前,仍然有很多事情需要做.....肯定你会发现方法来改进给定代码,或者根据你需要来调整它.是时候说再见了,玩开心,永远不要停止尝试!

    1.5K30

    iOS开发·runtime原理与实践: 消息转发篇(Message Forwarding) (消息机制,方法未实现+API不兼容奔溃,模拟多继承)

    消息转发是一种功能强大技术,可以大大增加Objective-C表现力。什么是消息转发?简而言之,它允许未知消息被困住并作出反应。...但在异常抛出前,Objective-C 运行时会给你三次拯救程序机会: Method resolution Fast forwarding Normal forwarding 2.1 动态方法解析:...需求:假设现在有一个利用新API写好类,如下所示,其中有一可能因为运行在低版本系统(比如iOS9)导致奔溃代码: Test3ViewController.m - (void)viewDidLoad...]; [self.view addSubview:tableView]; } 其中有一会发出警告,Xcode也给出了推荐解决方案,如果你点击Fix它会自动添加检查系统版本代码,如下图所示:...Objective-C 中给一个对象发送消息会经过以下几个步骤: 在对象类 dispatch table 中尝试找到该消息。

    1.9K11

    iOS-QQ音乐播放器简单实现

    通过添加定时器方法,使Slider原点随着播放时间而移动,将定时器添加到主RunLoop中并修改Mode为NSRunLoopCommonModes防止在滑动时定时器失效。...,移除定时器,并且停止歌手图片动画,如果是暂停则开始播放,添加定时器,并且回复动画。...首先需要将歌词一分开转化为数组,这里创建CLLrcTool工具类用来将每一歌词分开,并将每一存入到数组中,此时数组中存储歌词样式为 [01:32.64]宁愿相信我们前世有约 然后创建CLLrcLine...获取当前歌曲歌词数组行数。 遍历获得每一和下一歌词时间。 进行判断,当当前播放时间大于等于第i时间,并且小于第i+1时间则表明当前正在唱是第i。...将第i移动到屏幕中央,然后将第i记录下来,更新第i,回到tableView:tableView cellForRowAtIndexPath:方法中判断如果是第i则将lable字体放大,如果不是则改为原来

    2.8K130

    UITableView增加和删除、移动

    复习一下: 1、在控制器上添加一个UITableView,  暂时该UITableView控件变量名命名为为tableView, 设置控件代理,实现控制器UITableViewDataSource,...UITableViewDelegate协议; 2、tableView控件editing属性默认是NO, 并且UITableViewCell默认情况下没有删除和增加功能。    ...在代理方法里面做相应处理,就可以实现删除功能,代码如下: //代理方法,实现后可以进行增加单元或者删除单元 - (void)tableView:(UITableView *)tableView commitEditingStyle...3、UITableViewCell移动:实现一个代理方法,就可以进行单元格移动: //实现此方法,就可以移动单元格, 方法里面是让数据和样式移动保持一致 - (void)tableView:(UITableView...按住想要移动UITableViewCell哪个三横图标,可以进行移动 ?

    1.8K30
    领券