使用自定义 UITableViewCell 自动布局

2023-11-24

如何使用自动布局来移动自定义 UITableViewCell 的内容并调整其大小?

为了使问题更清楚,我分配了contentView我的自定义单元格具有浅灰色背景颜色。为了将这个问题尽可能减少到最小,我的自定义单元只有一个UIImageView named ratingImageView显示一些黄色星星;下图中可以看到三个这样的单元格。

Table view with custom cells and auto layout

My ratingImageView只有 4 个约束; (1) 宽度 =81,(2) 高度 =40,(3) 将中心 Y 与超级视图对齐,(4) 尾随空间与超级视图 =20。我希望当标准删除按钮出现在滑动删除时,超级视图约束的尾随空间会强制图像视图向左移动。然而,事实并非如此,如下图所示。

Custom cell content not moving with auto layout

我尝试了许多不同的约束组合,但无法使ratingImageView正如我所期望的那样转变。

我通过良好的工作遇到了这个问题介绍性故事板教程。我使用良好的旧支柱和弹簧来完成这项工作没有任何问题,但我决定尝试使用自动布局,但没有运气。


当我转向自动布局时,我遇到了同样的问题ON为了tutorial.

问题是因为约束Horizontal Space (20)。该约束的优先级设置为1000默认情况下,这意味着高优先级。因此,当 imageView 遵守约束并使其自身保持在其位置时,无需重新定位对应于 UITableViewCell(本例中为 PlayerCell)内容视图的位置。delete显示按钮。

通过与我的同事合作,我们找到了这个问题的解决方案。以编程方式向 ratingImageView 添加约束解决了这个问题。如果有人有比这更好的解决方案,请在此处发布。

  1. 打开故事板并选择 PlayerCell 并展开其约束。
  2. 选择约束条件“Horizontal Space (20)" 并在属性检查器中将其优先级设置为任何较低的值。
  3. 在 PlayersViewController.m 文件中添加以下代码cellForRowAtIndexPathtableView的委托方法:

    UIImageView *ratingImageView = cell.ratingImageView;
    NSDictionary *dict = NSDictionaryOfVariableBindings(ratingImageView); [cell.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[ratingImageView]|" options:0 metrics:nil views:dict]];

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

使用自定义 UITableViewCell 自动布局 的相关文章

  • 如何让 UITableview 在重新加载时转到页面顶部?

    当我调用以下命令时重新加载表数据时 我试图让 UITableview 转到页面顶部 void pickerView UIPickerView pickerView didSelectRow NSInteger row inComponent
  • 我应该在我的 iOS Objective-C 项目中使用它吗?

    Xcode 中的 构建设置 中的 Mach O 类型是什么 应该设置什么 它有这些选项 可执行文件 动态库 捆绑包 静态库 可重定位对象文件 自从我将其从可执行文件更改为静态库以来 我遇到了错误 Apple Mach O 链接器错误组 我的
  • 检查 UITableViewCell 是否完全可见

    如何检查 UITableViewCell 在屏幕上是否完全可见 不被选项卡或导航栏切断 我可以使用以下代码获取可见单元格 NSArray indexes tableView indexPathsForVisibleRows 但我想排除屏幕中
  • 检测用户何时清除通知中心的通知

    我的应用程序需要知道用户是否使用清除按钮从通知中心删除 清除应用程序通知 是否可以检测用户何时从通知中心删除通知或抓取通知中心上的一组通知 你 即App 无法与NotificationCenter交互 NotificationCenter与
  • 使用 Python-AppKit-Objective C 转换为预组合 Unicode 字符串

    苹果公司的这份文件技术问答 QA1235 http developer apple com qa qa2001 qa1235 html描述了一种将 unicode 字符串从组合版本转换为分解版本的方法 由于我对包含某些字符 例如重音符号 的
  • 在启用滚动的情况下扩展堆栈视图内的 UITextView

    我正在尝试使用自动布局和 Stackview 来实现一些目标 我有一个垂直 Stackview 其中包含 UIView UITextView 和 UIView 如下所示 我已经在这里查看了以前的答案 但找不到一个干净的解决方案来实现此目的
  • 子视图的子层与更高的子视图重叠

    我有一个问题 我正在创建一个UIView这是从方法返回的 这部分很好 但我注意到 当我将子层添加到其中一个子视图时 这些层与子层添加的层次结构中较高的子视图 textView 和 imageView 重叠到testViewCopy出现在这些
  • 每个 CPU 核心处于 C0 电源状态的时间

    任何帮助弄清楚如何做到这一点都会很棒 在过去一秒内 每个 CPU 核心处于 C0 电源状态的时间有多少 这是针对 Mac 应用程序的 因此需要 Objective C cocoa 和 c OS X 没有任何公开 CPU c 状态的 API
  • 如何从 Xib 文件加载自定义 UITableViewCell?

    问题很简单 如何加载自定义UITableViewCell来自 Xib 文件 这样做可以让您使用 Interface Builder 来设计您的单元 由于内存管理问题 答案显然并不简单 这个线程 https stackoverflow com
  • xcode“将源编译为”覆盖特定文件

    我有一个项目 必须将 编译源为 值设置为 Objective C 不 根据文件类型 在我的主项目中不起作用 我从框架 特别是 OpenFeint 获得的文件有问题 该文件在编译为 Objective C 时出现编译错误 error poin
  • 通过应用程序组在应用程序之间通信和保存数据

    iOS 8 昨天发布了一个有关应用程序组的新 API 以前在应用程序之间共享数据和通信有点混乱 我相信这正是应用程序组旨在纠正的问题 在我的应用程序中 我启用了应用程序组并添加了一个新组 但我找不到任何有关如何使用它的文档 文档和 API
  • NSArray 对象的 RACSignal

    我的 ViewController 上有一个 NSArray 的 ViewModel 对象 property 非原子 强 NSArray viewModels ViewModel 对象看起来像这样 interface ViewModel N
  • 在 Swift 中使用 commitEditingStyle 动态删除 UITable 部分

    我正在处理一个无法解决的问题 我有一个来自客户数据库数组的名称表 每个客户在其他数据成员中都有一个名称属性 我可以成功删除某个部分中的行 但我不能删除该部分 当该部分中的最后一行被删除时 该部分必须消失 I got NSInternalIn
  • 如何从日期中获取小时、分钟和上午/下午? [复制]

    这个问题在这里已经有答案了 我尝试从日期中提取小时 分钟和上午 下午 但我得到 NULL 输出 我在下面显示了我的代码 请查看 NSString dateStr 29 07 2013 02 00am NSDateFormatter form
  • ios 11 - UIBarButtonItem 内的 UIButton 导致自动布局错误

    我在将 UIButton 添加到 UIBarButtonItem 时遇到了一个已知问题 我尝试按照建议添加自动布局约束堆栈溢出 https stackoverflow com a 46336639 505603但我收到如下所述的错误 UIB
  • 将捕获的图像精确裁剪为 AVCaptureVideoPreviewLayer 中的外观

    我有一个使用 AV Foundation 的照片应用程序 我使用 AVCaptureVideoPreviewLayer 设置了一个预览层 它占据了屏幕的上半部分 因此 当用户尝试拍照时 他们只能看到屏幕上半部分看到的内容 这很好用 但是当用
  • 如何将unix时间戳转换为iphone中的nsdate [重复]

    这个问题在这里已经有答案了 可能的重复 从 Unix 时间戳创建 NSDate https stackoverflow com questions 5827240 create nsdate from unix timestamp 我有一个
  • iOS 使用 NSColor 与 UIColor?

    有什么区别UIColor and NSColor 什么时候会使用每一种 我碰到NSColor在试图弄清楚的同时UIColor用于 iOS 中的属性字符串 我理解使用UIColor对于 UIKit 等 但我不认为NSColor对于这种事情确实
  • Objective C (iphone) 关于发布的问题

    如果我创建一个视图 并将其添加为子视图并将其添加到数组中 是否必须释放它两次 UIView cat UIView alloc initWithFrame someFrame self view addSubview cat self ani
  • AVPlayer 不播放音频 - iOS 9,目标 - C

    我正在尝试从我的应用程序中的 URL 播放音频 iOS 8 中一切都按预期发生 模拟器和物理设备 对于 iOS 9 它可以在模拟器中运行 但在设备上 音频根本无法播放 出现流媒体 如果我单击播放 进度条还显示音频正在加载并播放 但没有声音

随机推荐

  • GitHub Packages Docker - 拉取映像配置时出错:未知 blob

    GitHub 包开始返回error pulling image configuration unknown blob这个周末尝试拉取 docker 镜像时 它仍然可以将图像推送到注册表 我在 GitHub 上没有找到任何指向问题的信息 00
  • MySQL 与实体框架 - 我做错了什么?

    我对实体框架甚至 ADO NET 完全陌生 通常不会对数据库做太多工作 我下载并安装了MySQL 连接器 NET 6 3 5 我在 Visual Studio 2010 中创建了一个新的 C 项目 我向我的项目添加了一个新的 ADO NET
  • 使用 Facebook4j api 从页面获取帖子

    我想知道是否有一种方法可以使用 Facebook4J API 从 Facebook 页面获取所有 甚至最近 帖子 我知道可以从用户的墙或提要中获取所有帖子 但我在 API 或文档中找不到任何显示如何从页面获取帖子的内容 看着http fac
  • 如何检查bash脚本中特定目录中是否存在文件?

    这是我一直在尝试的 但没有成功 如果我想检查 example 目录中是否存在文件 FILE 1 if e FILE example then echo File exists else echo File does not exist fi
  • 迭代字典时如何避免 swift 中的重复键错误

    我正在练习 swift 我正在尝试迭代字典来打印密钥 但它给了我一个 致命错误 字典文字包含重复的键 如何消除错误 let people age 14 age 15 age 75 age 43 age 103 age 87 age 12 f
  • 获取 svg 路径上点的 y 坐标

    我想我需要添加一些解释 我想问这个问题 因为太短的问题不符合质量标准 有趣 所以 问题是 如何获取 svg 路径上特定 x 坐标处点的 y 坐 标 这并不简单 因为一条路径可能有多个具有指定的点x协调 SVG DOM 中没有内置函数可以执行
  • 提取 DOCX 注释

    我是一名教师 我想要一份对我布置的论文发表评论的所有学 生以及他们所说内容的列表 Drive API 的东西对我来说太具有挑战性 但我想我可以将它们下载为 zip 并解析 XML 评论被标记为w comment标签 与w t对于评论文本和
  • 在视图中自动布局“打开”时无法移动 UILabel 的 Y 位置

    我一定在这里遗漏了一些非常明显的东西 但这是一个让我沮丧了好几天的问题 在 xcode 4 5 上的 iOS 项目中 我在 XIB 中有几个标签 一个在另一个之上 在一个UIScrollView占据一个UIView 每个标签与视图一样宽 并
  • 在Python循环中使用迭代器作为变量名

    我一直想知道是否有一种方法可以在 Python 循环中使用迭代器作为变量名 例如 如果我想创建对象v0 v1 v2 有没有办法做这样的事情 for i in range 3 v str i i 2 我知道语法是错误的 但想法应该很清楚 相当
  • 编译32位时出现__int128错误

    c random h 106 error expected unqualified id before int128 当我编译 32 位程序时 上面是我得到的错误 我在用着http sourceforge net projects ming
  • 使用Scala宏生成方法

    我想在 Scala 2 11 中使用注释宏生成方法的别名 我什至不确定这是否可能 如果是 怎么办 示例 鉴于下面的内容 我希望注释宏扩展到 class Socket alias aliases Seq ask read def load n
  • 将 .gz 文件添加到 .zip 存档而不解压并重新压缩?

    假设 gzip 文件和 zip 存档都使用 DEFLATE 由于两者都会为特定文件存储相同的原始压缩数据 是否可以将预压缩的 gz 文件添加到现有的 zip 存档中 一些元数据可能会丢失 或不可用 但我更关心原始文件数据 Yes 我不记得为
  • 将 numpy int16 音频数组转换为 float32

    我有原始二进制 int16 数据 我正在使用它转换为 numpy 数组 audio np fromstring raw data dtype np int16 该数据是音频数据 当我将数据转换为 float32 时 音频变得失真 audio
  • 如何修复 由于目标计算机主动拒绝而无法建立连接 127.0.0.1:64527

    我有一个 MVC 应用程序 它依赖于 Web API 应用程序 我将这两个应用程序托管在共享托管环境上 子域上的 API 和主域上的 MVC API 是 api mydomain com MVC 是 mydomain com 每当我在邮递员
  • 如何从进程内部确定 CPU 和内存消耗

    我曾经承担过从正在运行的应用程序内部确定以下性能参数的任务 可用虚拟内存总量 当前使用的虚拟内存 Virtual memory currently used by my process 可用内存总量 当前使用的内存 RAM currentl
  • 在 VBA 中连接字符串

    我正在维护一个使用 VBA 用 Microsoft Access 编写的应用程序 我浏览了一下我的代码 刚刚注意到我下意识地使用加号 而不是与符号将字符串连接在一起 我已经有几年没有用 VB6 编写代码了 这会导致任何问题吗 一切看起来都很
  • 如何在 Visual Studio 2008 中创建 COM DLL?

    我已经很久没有编写 COM dll 了 我现在已经创建了几个类 它们继承了一些 COM 接口 但我想对其进行测试 我知道我必须在某处放置一个 GUID 然后使用 regsvr32 注册它 但是涉及哪些步骤 编辑 抱歉 忘了提及我正在使用 C
  • 如何将图像插入 OpenXML Word 文档的页眉?

    我的 OpenXML Word 文档生成项目需要文本 表格和图像 但首先 我需要一个带有徽标 图像 的文档标题 我使用了 Microsoft 示例来创建页眉和页脚 网址为使用 Open XML SDK 2 0 for Microsoft O
  • 为什么在某些条件下 AppDomain.CurrentDomain.GetAssemblies() 不返回 Global.asax 中的依赖程序集?

    EDIT 以前的标题是 IIS 重新启动和应用程序初始化之间的应用程序初始化行为不同 我更改了标题以将问题从 IIS 应用程序初始化中扩展出来 因为观察到的行为与AppDomain CurrentDomain GetAssemblies 我
  • 使用自定义 UITableViewCell 自动布局

    如何使用自动布局来移动自定义 UITableViewCell 的内容并调整其大小 为了使问题更清楚 我分配了contentView我的自定义单元格具有浅灰色背景颜色 为了将这个问题尽可能减少到最小 我的自定义单元只有一个UIImageVie