无法缩进 UITableViewCell 子类

2024-01-12

我对 UITableViewCell 进行了子类化,以创建带有一个按钮和 2 个标签的自定义单元格。使用 Dave Mark 的 Beginning iPhone Development 中概述的模式从 xib 加载单元格定义。这是基本代码:

    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MarketItemCustomCell" owner:self options:nil];

    for (id oneObject in nib)
    {
        if ([oneObject isKindOfClass:[MarketItemCustomCell class]])
        {
            cell = (MarketItemCustomCell *)oneObject;
            break;
        }
    }

标签和按钮按预期显示,但不考虑缩进级别。我已经实现了 indentationLevelForRowAtIndexPath 如下所示,但单元格仍然一直向左对齐。

- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        <snip/>
        return 5;
    }

请注意,当我不使用自定义单元格时,缩进级别工作正常。

有什么提示吗?


iOS 8 更新:由于某种原因,下面的代码不再有效

iOS 8 的替代建议:

考虑创建一个自动布局约束来表示缩进左边距

在运行时,修改此约束以更改缩进级别

如果您有自定义 UITableViewCell 子类,则该子类可以将 IBOutlet 映射到约束。 (不幸的是Apple没有提供findConstraintByTag/Id函数)

具有讽刺意味的是,可以修改 NSLayoutConstraint 的“常量”属性来更改缩进级别。

对于 iOS 7,此方法有效(但不应再推荐)

根据 vodkhang 的建议,我在 UITableViewCell 子类中实现了以下解决方案。不确定这是否是最好的解决方案,但它似乎工作正常。

- (void)layoutSubviews
{
    [super layoutSubviews];

    float indentPoints = self.indentationLevel * self.indentationWidth;

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

无法缩进 UITableViewCell 子类 的相关文章

  • HTML 分页

    有没有html分页的开源项目 我正在为 iPhone 开发一个应用程序 我想在 UIWebView 上显示 HTML 文件 并且不希望用户向下滚动以查看屏幕上未显示的剩余内容 我想在第二个 UIWebView 上显示剩余的内容 我怎样才能做
  • iPhone JPG 图像有非标准魔术字节 ff d8 ff e1?

    我的网络应用程序在接受上传的图像之前会根据文件扩展名检查前四个字节 一位同事向我展示了他 iPhone 上的图像 但这些图像被拒绝了 它们具有不同的第四个字节 e1 225 而不是预期的 e0 224 这对于 iPhone 来说是常见的吗
  • UITableView 快速获取 titleForHeadersInSection

    我想在 UITableView 的部分中设置标题的标题 语法是什么swift设置该部分中标题的标题 func tableView tableView UITableView titleForHeaderInSection section I
  • ios 在后台处理推送通知

    我想保存应用程序处于后台状态时到达的推送通知 我知道关于 void application UIApplication application didReceiveRemoteNotification NSDictionary userIn
  • 如何将相机中的图像保存到 iPhone 图库中的特定文件夹?

    嘿 我是 iPhone 新手 最近我一直在尝试制作一个应用程序 基本上 我想要做的是 如果用户将从相机捕获任何图像 那么它应该保存在设备库中 我知道如何将照片保存在图库中 它对我有用 但我无法将所有捕获的图像保存到设备图库中的特定文件夹 例
  • DatePicker 停止 CoreData 按预期工作

    我有一个应用程序 它保存 UIDatePicker 中的文本和日期 然后在您回到 UIDatePicker 中的该日期时显示该注释 效果很好 只有我发现将 UIDatePicker 日期设置为今天会停止 CoreData 工作 只有当我运行
  • iOS 中的 CSV 逐行解析

    我正在 Objective c 中解析 CSV 文件 该文件包含如下内容 line 40 Rising searches line 41 nabi avc Breakout line 42 stonewall 700 line 43 med
  • 应用内购买产品禁用“提交审核”

    基于此处提到的所有步骤http troybrant net blog 2010 01 in app purchases a full walkthrough http troybrant net blog 2010 01 in app pu
  • 架构armv7的重复符号

    尝试在我现有的应用程序中使用 Layar SDK 时出现以下错误 我该如何解决这个问题 Ld Users pnawale Library Developer Xcode DerivedData hub afxxzaqisdfliwbzxbi
  • 来自 iPhone/iPad 的 json Web 服务

    有人可以帮助我解决如何从 iphone 或 ipad 使用 json Web 服务的问题吗 这里我的要求是使用 API 密钥实现 json webservice 如果可能的话发布一些教程或示例链接 谢谢 规范的 JSON 处理库是here
  • 填充 CoreData 创建的 sqlite 数据库

    我有一个由 CoreData 模型自动创建的 sqlite DB 但我的应用程序不会让用户能够将数据写入其中 而是我想用程序所需的所有数据预先填充它 我的问题是 CoreData 创建的 sqlite DB 具有未知的表和字段 这些表和字段
  • 如何测试 UITextField 是否为零?

    我正在尝试制作我的应用程序的一部分 如果该人不更改我的 UITextField 中的空白文本 那么他 她将无法继续下一步 基本上 我想测试 UITextField 的 nil 文本 我已经使用了 if text 方法 但是如果用户单击 UI
  • 我如何获取用户的电子邮件? iPhone SDK

    我需要获取 Mail app 中使用的用户的电子邮件地址 如何使用 iPhone SDK 做到这一点 谢谢你 简短的回答 你不能 如果需要 您应该提示用户输入电子邮件地址
  • 在午夜更新应用程序徽章,并提供以下选项:应用程序未启动或在后台,徽章数量可能会减少

    我正在阅读许多有关本地通知的内容以及它们如何帮助更新应用程序徽章编号 我想在午夜更新此徽章 并将其值设置为我在午夜之前无法知道的数字 因此 如果可能的话 我想在午夜启动一个功能来更新 加载一些数据 检查要显示的数字 并将其显示在徽章上 当然
  • 检索 iPhone 中的 Outlook 联系人

    我想通过应用程序导入所有 Outlook 联系人 有什么办法可以做到这一点吗 请告诉我 您可以通过实施 Microsoft Exchange 服务器协议来实现此目的 微软MSDN http msdn microsoft com en us
  • 奇怪的 UITableView 插入/删除行动画

    在带有动画 UITableView RowAnimationTop 的 UITableView 中插入 删除 UITableViewCell 时 我看到了奇怪的效果 当要插入的单元格比上面的单元格大得多时 就会发生动画故障 显示模拟器中的故
  • 使用 iPhone 摄像头检测心率 [重复]

    这个问题在这里已经有答案了 可能的重复 使用摄像头检测心率 https stackoverflow com questions 9274027 detecting heart rate using the camera 我正在研究 iOS
  • 如何减少典型 iPhone 应用程序的启动时间?

    需要明确的是 这是一个普通的 iPhone 应用程序 而不是游戏 我在网上读过几次 一些开发人员提到他们正在努力改进 减少应用程序的启动时间 但从来没有提供任何关于如何做到这一点的良好背景信息 那么问题很简单 如何减少 iPhone 应用程
  • Python 2.7 缩进错误[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题是由拼写错误或无法再重现的问题引起的 虽然类似的问题可能是on topic help on topic在这里 这个问题的解决方式不
  • 如何在 iOS 中注册自定义文件类型

    我目前正在创建一个应用程序 我想让用户在其中备份他们的文件 plist m4a 我压缩文件并将扩展名更改为自定义扩展名 专门针对我的应用程序 例如 MyBackup 然后 用户可以通过电子邮件或 iTunes 文件共享进行导出 我已经阅读过

随机推荐

  • C#.Net,获取OLEDB提供程序版本

    我需要确定已安装的 OLEDB 提供程序版本 在读取 Excel 文件之前 我怎样才能做到这一点 您可以使用 OleDbEnumerator GetElements 方法 http msdn microsoft com en us libr
  • BigCommerce Stencil - 检索产品卡中的产品自定义字段

    我正在尝试检索每个产品的custom fieldsBigCommerce Stencil 中类别列表页面上的数据 本文档here https stencil bigcommerce com docs product resources以及下
  • 在 Chrome DevTools 中测量整个页面大小

    我已经搜索了一段时间 但没有找到任何明确的解决方案 我想测量整个网页的重量 大小 所有文档 脚本 字体 样式等 我知道开发工具中的网络选项卡有大小 内容 但我想对其进行求和 而不是每次都求和 我一直在寻找 chrome devtools A
  • 将 Git 与现有文件一起使用并在推送后更新分支

    我们目前正在开始使用 Git 但遇到了一些麻烦 基本上我想要的是拥有一个用户可以推送和拉取的 Git 存储库 此外 该存储库应该作为主分支的预览版本 因此我们需要在存储库本身中包含脚本文件 我使用 git init test git 启动了
  • 父级和子级的点击事件

    我有一个父元素 DIV 它有子 div 元素 我为父级及其子级有单独的点击实现 div div div div div div mainContainer click function console log main container
  • 为什么 ScheduledExecutorService 在抛出异常后不再运行任务?

    为了执行定期任务 我查看了Timer http download oracle com javase 6 docs api java util Timer html and ScheduledThreadPoolExecutor http
  • Java如何对链表进行排序?

    我需要按字母顺序对链接列表进行排序 我有一个包含乘客姓名的链接列表 需要按字母顺序对乘客姓名进行排序 一个人会怎样做呢 有人有参考资料或视频吗 您可以使用Collections sort http download oracle com j
  • 如何创建一个不破坏严格别名的 uint8_t 数组?

    我最近问了这个问题 使用此指针会导致热循环中奇怪的去优化 https stackoverflow com questions 26295216 using this pointer causes strange deoptimization
  • 无法让预制作工作 - 过度演示

    https bitbucket org alfonse gltut downloads https bitbucket org alfonse gltut downloads 这是这本在线书中的几个教程的存储库 http www arcsy
  • Discord.py 时间表

    这就是我到目前为止所拥有的 确实适用于我想要的延迟秒数 但是如何添加时间模块或时间表模块以使其工作 以防万一我希望机器人每 24 小时发送一次消息 import discord import asyncio from discord ext
  • 什么是 git 上游

    当您创建了 github repo 并将 github repo 添加为远程时 git remote add origin https github com githubname reponame git 那么你需要推送你的第一次提交 gi
  • Firebase + 权限

    我刚刚将一款应用从 Firebase 9 0 0 更新到 Firebase 9 0 2 我使用消息 广告 compile com google firebase firebase messaging 9 0 2 compile com go
  • 将 Xml 解析为数组 (Swift)

    struct person var name var sex var age var personArray person 我的Xml字符串包含两组数据 a a
  • Bootstrap 菜单在单击时更改 li 活动类

    我通过引导程序有以下菜单 HTML div class navbar collapse collapse ul class nav navbar nav li class active a href Home Home a li li a
  • PHPExcel 导出不起作用:显示“无法访问该网站”

    我已经从服务器克隆了一个项目并安装在我的本地设置中 我正在尝试使用 PHPExcel 将 Excel 文件导出到浏览器 它在服务器中运行良好 但是本地设置有问题 我还检查了列和字段的数量 它们都很好 下面是代码
  • Rails gem Ransack -> 使用“is null”和特定值搜索“或条件”(field=x OR field IS NULL)

    我为我们的支持者制作了一个支持票系统 使用 ruby on Rails 进行编程 Ruby 1 9 3 Rails 3 2 有一个票证模型belongs to与用户 支持者 的关联 我使用 Ernie 的 gem Ransack 进行搜索
  • Intellij 尝试将 pom.xml 视为 jar 文件

    在尝试从 Intellij 运行测试 在 Maven 项目上 时 我不断收到下面提到的错误 my module Exception in parsing jar file for extract from jar path to pom x
  • WooCommerce:按产品类别划分的自定义购物车项目计数

    I found 这个脚本 https docs woothemes com document show cart contents total 这允许我在 WooCommerce 中的购物车图标上方显示购物车内容总数 a class car
  • 在 Windows 上使用 C++ 获取当前用户名

    我正在尝试创建一个程序 使用 C 在 Windows 上检索当前用户的用户名 我试过这个 char userName getenv LOGNAME stringstream ss string userNameString ss lt lt
  • 无法缩进 UITableViewCell 子类

    我对 UITableViewCell 进行了子类化 以创建带有一个按钮和 2 个标签的自定义单元格 使用 Dave Mark 的 Beginning iPhone Development 中概述的模式从 xib 加载单元格定义 这是基本代码