一个 UITableView 中有多个 UITableViewCell 类?

2024-01-11

我正在组合一个 TableView,并且需要在同一个表中使用多个单元格类。

例如,我将如何在我的cellForRowAtIndexPath method?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    // Configure the cell...

    return cell;
}

我知道我可以简单地替换UITableViewCell使用我的自定义类并使用 if 语句根据索引调整类,但这不是有点混乱吗?合理且可能是最智能的方法是什么?


当然可以。只需创建自定义单元的新实例并为其提供新的 CellId。

- (UITableViewCell *)tableView:(UITableView *)tableView 
         cellForRowAtIndexPath:(NSIndexPath *)indexPath {

   if (condition1)
    {
        static NSString *CellIdentifier1 = @"Cell1";
        UITableViewCell *cell = 
         [tableView dequeueReusableCellWithIdentifier:CellIdentifier1];

        // TODO: if cell is null, create new cell of desired type.  
        // This is where you    create your custom cell that is 
        // derived form UITableViewCell.
    }
    else
    {
        static NSString *CellIdentifier2 = @"Cell2";
        UITableViewCell *cell = 
         [tableView dequeueReusableCellWithIdentifier:CellIdentifier2];

        //TODO: if cell is null, create new cell of desired type

    }
    // Configure the cell...

    return cell;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一个 UITableView 中有多个 UITableViewCell 类? 的相关文章

  • 如何重新定位或移动 Google Maps SDK 上的当前位置按钮?

    如何将 Objective C 中的当前位置按钮移至我的偏好 现在 我已启用它 但底角有东西挡住了它 Thanks 您可以使用 padding 将按钮向上移动 self mapView padding UIEdgeInsets top 0
  • 查找已用应用程序名称的捆绑包/开发人员

    我正在尝试将应用程序上传到应用程序商店并收到以下错误 很容易理解 The App Name you have entered has already been used 该应用程序不在 iTunes 上 有什么方法可以找出谁拥有该应用程序或
  • ARC 不允许将 Objective-C 指针隐式转换为“void *”

    这意味着什么 我有什么选择 ARC 不允许将 Objective C 指针隐式转换为 void 我正在将 Xcode3 项目移植到 iOS5 它使用 AudioSessionInitialize 如下 AudioSessionInitial
  • 沙盒尝试恢复消耗性 IAP

    我一直在尝试在 iOS 上测试一些消耗性 IAP 但遇到了一个奇怪的错误 弹出一条警报 其中包含以下文本 此应用内购买已被购买 它将恢复为 自由的 环境 沙盒 我已经检查过 并且确定我的 IAP 可以在 iTunesConnect 中使用
  • UITableView 滑动删除 iOS 上的手势冲突

    我的手势识别器有问题 我的目标是在表视图中实现使用滑动删除 但我认为其他手势是相互冲突的 我正在使用这个库romonthego REFrostedViewController https github com romaonthego REF
  • ios 在后台处理推送通知

    我想保存应用程序处于后台状态时到达的推送通知 我知道关于 void application UIApplication application didReceiveRemoteNotification NSDictionary userIn
  • 高效创建 x 层深度的嵌套 for 循环

    这可能是一件简单的事情 但我需要创建一个循环结构 使其循环 y x 次以创建 x 和 y 的所有可能组合 例如 如果有 4 个 x 每个 x 有 2 个 y 我想做这样的事情 for int a 0 a lt y a for int b 0
  • 以编程方式在 App Store 上运行搜索?

    是否可以从我的应用程序中打开 App Store 应用程序并运行搜索 我想看看是否有一个 appstore 类型的 URL 可以使用 就像 mailto 和 sms 分别打开邮件和短信一样 有谁知道这是否可能 编辑 更多信息 我一直在尝试使
  • ios7 navigationController PushViewController 动画错误

    看来我在 navigationController PushViewController 方法中发现了一个错误 为了重新创建它 我采用了示例主详细信息项目并对 didSelectRow method void tableView UITab
  • Objective-c 中的块递归

    当执行涉及 Objective C 块的递归时 我在 iOS 应用程序中收到 EXC BAD ACCESS 信号 这是简化的代码 void problematicMethod FriendInfo friendInfo onComplete
  • 在带有 Storyboard 的 XCode 4 中以模态方式推送视图时,出现“对开始/结束外观转换的不平衡调用”警告

    在网上进行了一些研究但没有成功后 我来这里向您询问有关我的警告的问题 实际上 我有一个带有导航控制器的视图 V1 我想在 V1 完成加载时推送模态视图 V2 所以我用performSegueWithIdentifier方法 我正在使用故事板
  • 使用 NSError 检查错误的正确结构

    我正在编写各种例程 并尽力保持其整洁和重构 我正在创建的方法开始看起来与此代码类似 IBAction buttonPress id sender Create Document Shopping List with this documen
  • 推入 UINavigationController 时隐藏 FBFriendPickerViewController 导航栏

    介绍一个实例FBFriendPickerViewController using presentViewController animated completion 非常简单 该类似乎是针对该用例的 但是 我想推送一个实例FBFriendP
  • 如何恢复消耗品应用内购买?

    我正在开发一款 iOS 游戏 用户可以通过应用内消耗品购买一定数量的内部货币 比如 1000 金币 如果用户想将余额从一台设备转移到另一台设备 如何恢复消耗品购买 在苹果的文档中 它说我们必须使用我们自己的服务器 但是如何获取用户的Appl
  • UIScrollView - 启用分页后,我可以“更改”页面宽度吗?

    将滚动视图 将 pagingEnabled 设置为 YES 将页面宽度设置为滚动视图边界以外的其他值的最简单方法是什么 让我举个例子 假设我有一个包含 10 个项目的滚动视图 每个项目的宽度为 150 像素 而我的滚动视图的宽度为 300
  • 在 Swift 中使用 CommonCrypto 解密时出现问题

    我在一家Swift only加密 解密Extension for String and NSData 并且 crypt 部分的工作基于 Zaph 在链接问题中提供的答案 在 Swift 中使用 CCCrypt CommonCrypt 时出现
  • 防止 AlertView 被解雇

    任何人都可以帮助我防止在其按钮单击事件上解雇警报视图吗 我有一个 textview 作为我的alertView 的子视图 如果 textview 值为 nil 我不想关闭它 因为这是一个非常老的问题 但我得到了一个解决方案 并且如果其他开发
  • 在 UIImage 顶部绘制透明圆圈 - iPhone SDK

    我在尝试找出如何在 UIImageView 中的 UIImage 顶部绘制透明圆圈时遇到了很多麻烦 谷歌给了我线索 但我仍然找不到有效的例子 有没有人知道的例子可以证明这一点 最简单的方法就是创建一个半透明的方形 UIView 然后将其图层
  • 为什么 iPhone 上的纹理图像需要具有二维幂?

    我正在尝试解决 iPhone 上的闪烁问题 open gl es game 我有一些没有 2 维的图像 我将用具有适当尺寸的图像替换它们 但为什么尺寸需要是 2 的幂 大多数系统 甚至许多现代显卡 需要 2 的幂纹理的原因是 mipmap
  • 使用基于约束的布局自动调整 NSTokenField 的大小

    有没有办法自动调整大小height使用约束的 NSTokenField 保持宽度恒定 sizeToFit应该有效 但事实并非如此 如果我设置一个约束来保持宽度不变并调用此方法 它将忽略约束并仅调整宽度大小 当我想要的是仅调整高度大小时 基于

随机推荐

  • Python 2 和 Python 3 中 exec 函数的行为

    以下代码给出了不同的输出Python2 and in Python3 from sys import version print version def execute a st b 42 exec b nprint b b format
  • 使用 npm 如何将包下载为 zip 格式,并将其所有依赖项包含在包中

    我想做的是下载包含所有依赖项的软件包 以便将它们传输到另一台没有互联网连接的计算机上并安装在那里 所以情况是 下载包 到 zip tarball 任何文件 而不安装它 下载的文件中包含其所有依赖项 正确的版本及其依赖项的依赖项 将文件传输到
  • Git:无法从一台计算机推送

    我的一位同事在他的机器上从 git 推送更改时遇到了问题 如果他登录到另一台机器 他可以很好地推送 但是从他的机器上 当他尝试推送时 他会收到以下错误 D Projects test1 best practices gt git push
  • 当有许多(数千个)SVG 元素时,为什么 D3.js 平移比缩放慢?

    当 svg 包含许多元素时 D3 js 平移似乎比缩放更慢且更不稳定 我在 JSFiddle 上做了一个例子http jsfiddle net cornhundred cfeu1ws2 10 http jsfiddle net cornhu
  • 如何将原始套接字绑定到特定端口?

    我目前正在从事一项编程任务 作业是实现客户端 网络模拟器和服务器 客户端将数据包传递给网络模拟器 网络模拟器将数据包传递给服务器 反之亦然 分配的前提是我只能使用原始套接字 所以我将创建自己的 IP 和 UDP 标头 我已经用wiresha
  • 使用where语句批量更新mysql

    如何批量更新mysql数据 如何定义这样的东西 UPDATE table WHERE column1 somevalues SET column2 othervalues 具有一些值 例如 VALUES 160009 160010 1600
  • webflux 请求处理程序中 ServerRequest 返回 null 主体

    我已经在 Spring WebFlux 应用程序中设置了身份验证 身份验证机制似乎工作正常 例如 以下代码用于设置安全Web过滤器链 Bean public SecurityWebFilterChain securityWebFilterC
  • AngularJS - 充当单选按钮的 3 按钮组

    使用离子框架 http ionicframework com 我正在尝试创建一组充当单选按钮的三个按钮 如果我点击早餐 我希望午餐和晚餐恢复到正常 白色 状态 早餐变成蓝色 使用我当前的代码 我无法让这个功能工作 尽管我可以让按钮稍微随机地
  • 如何为 groupby DataFrame 创建滚动百分比

    我正在尝试计算每种产品的每月变化百分比 这是我到目前为止所拥有的 我将其用于涉及单个产品的 DataFrame 我对如何将计算应用于包含许多产品和许多月份的结果集感到困惑 示例数据框 product desc activity month
  • 计算整个表的哈希值的最快方法[重复]

    这个问题在这里已经有答案了 我们需要能够计算外部环境的表哈希并将其与内部环境中预先计算的哈希进行比较 这样做的目的是确保外部环境中的数据不被 流氓 数据库管理员篡改 用户坚持这个功能 目前 我们通过计算每个列值的单独散列 对列散列执行位异或
  • python 全局名称“self”未定义

    刚开始学习 python 我确信这是一个愚蠢的问题 但我正在尝试这样的事情 def setavalue self self myname harry def printaname print Name self myname def mai
  • 获取计算高度 - Javascript - 不是 jQuery

    我有两个并排的 div 设置为自动高度 我希望它们具有相同的高度 因此我将它们组合为数组的成员 我递归遍历数组并将最高的高度设置为最高的高度 问题是我尝试获取计算高度的所有操作都导致了错误的值 我已经尝试过以下方法 els x curren
  • 是否值得缓存 Delphi 内存管理器创建的对象?

    我有一个可以创建和销毁数千个对象的应用程序 是否值得缓存和重用对象 或者 Delphi 的内存管理器足够快 多次创建和销毁对象并不是那么大的开销 与跟踪缓存相反 当我说值得时 我当然在寻找以提高性能 根据最近的测试 如果对象创建并不昂贵 即
  • 使用 Outlook 对象模型,我可以获得在 Outlook 联系人中看到的字段吗

    我可以使用 Outlook 对象模型查看全局地址簿 但无论如何使用 csharp 的 Outlook 对象模型我可以获得一个人的以下属性 城市 州 国家 地区 别名 标题 电话 我似乎无法在 AddressEntry 对象上找到这些属性 编
  • 如何使用 CMake 使用 install-export 和 find_package 查找并链接到库?

    您有一个支持 CMake 的库项目 您需要在另一个库或可执行文件中使用它 如何使用CMake查找并链接到库 您可能有以下偏好 编写尽可能少的样板代码 将链接库的内部细节与消费目标解耦 理想情况下 该库的用法应该如下所示 add execut
  • 从失败的变基中恢复

    我在用着git svn通过公司指定的 svn 服务器获得一些 git 的好处 我刚刚有一个 rebase 出了严重的问题 我正在努力找出最好的恢复方法 事情是这样的 首先 我有这个 1 master B C D E feature fix
  • CSS:滚动时背景图像不填充

    在一个非常小的网站上工作 一次性加载 所以有一个 div 保存所有背景图像 最重要的是 即 更高的 z 指数 有一个内容 div 包含所有内容 我可以根据选择的内容轻松切换背景 不幸的是 我注意到如果你在一个小窗口中启动 就会出现滚动条 如
  • 如何在 Angular2 组件中操作 scss 变量

    有没有办法可以更改 Angular2 组件中声明的 scss 变量 我想根据用户选择动态添加主题 因此需要修改 scss 变量 我读到了有关将所有 scss 变量保存在单独的 scss 文件中并将其导入其他 scss 文件中的内容 但是我可
  • 我们可以在 Flutter 中显示一些动态文本以及 Google 地图上的标记吗?

    在 Flutter 中是否有可能实现像这样的图像 我使用 google maps flutter 插件在屏幕上显示 GoogleMap 并使用 BitmapDescriptor 更改地图标记的图标 现在我只是在寻找某种方法来显示标记下方的文
  • 一个 UITableView 中有多个 UITableViewCell 类?

    我正在组合一个 TableView 并且需要在同一个表中使用多个单元格类 例如 我将如何在我的cellForRowAtIndexPath method UITableViewCell tableView UITableView tableV