UITableViewCell 自定义类 - 子视图高度约束更改后重新加载单元格高度

2023-12-06

我有一个自定义按钮UITableViewCell班级。它显示/隐藏视图(同一单元格的一部分)。这样做时单元格的高度应该改变。
这是按钮操作(在UITableViewCell自定义类):

@IBAction func showHideCartView(sender: UIButton)
    {
        if sender.tag == 1
        {
            // Show cart view
            self.buttonArrow.tag = 2
            self.viewAddToCart.isHidden = false
            self.constraint_Height_viewAddToCart.constant = 50
            self.buttonArrow.setImage(UIImage(named: "arrowUp.png"), for: .normal)
        }
        else
        {
            // Hide cart view
            self.buttonArrow.tag = 1
            self.viewAddToCart.isHidden = true
            self.constraint_Height_viewAddToCart.constant = 0
            self.buttonArrow.setImage(UIImage(named: "arrowDown.png"), for: .normal)
        }

        self.setNeedsUpdateConstraints()
        self.setNeedsLayout()
        self.layoutIfNeeded()
    }  

单元格的高度保持不变。只有当我滚动 UITableView 并重新访问单元格时,它的高度才会更新。


将以下方法添加到viewControllertableView当单元格展开时刷新表格:

func refreshTableAfterCellExpansion() {
    self.tableView.beginUpdates()
    self.tableView.setNeedsDisplay()
    self.tableView.endUpdates()
}

更新约束后调用该方法。如果按钮操纵单元格内的约束,您将需要通知viewController有关更改,以便您可以调用该方法。要么使用委托模式(或直接传递tableView对每个可扩展单元格的引用 - 只需记住将其存储为weak变量),或使用发布通知NotificationCenter.default.

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

UITableViewCell 自定义类 - 子视图高度约束更改后重新加载单元格高度 的相关文章

  • 为什么 Xcode 4 不会对我未完整实现 UITableViewDataSource 协议发出警告?

    如果我在 Xcode 中使用以下代码声明并不完全实现我自己的协议 一些协议 h protocol SomeProtocol
  • 这个错误是无效上下文0x0吗?

    我在ViewDidLoad中编写了以下代码 Implement viewDidLoad to do additional setup after loading the view typically from a nib void view
  • NSDateFormatter 返回错误的日期 + Swift

    Code let dateString 2016 04 02 var formatter NSDateFormatter NSDateFormatter formatter timeZone NSTimeZone abbreviation
  • 如何使用正则表达式将字符串分成相同字符的组?

    我有一个这样的字符串 var string AAAAAAABBBCCCCCCDD 并喜欢将字符串分割成这种格式的数组 same characters gt same group 使用正则表达式 Array AAAAAAA BBB CCCCC
  • iOS 11 安全区域布局指南向后兼容性

    启用安全区域布局指南是否与 iOS 11 以下版本兼容 我设法使用新的安全区域布局指南并保持与 iOS 9 和 iOS 10 的向后兼容性 编辑 正如 NickEntin 的评论所指出的 此实现将假定存在状态栏 但在 iPhone X 的横
  • 如何检测Retina高清显示屏?

    UIScreen有一个新的 nativeScaleiOS 8 中的属性 但文档没有提及它 property nonatomic readonly CGFloat nativeScale 还有一个scale属性 但文档说它是 2 用于视网膜显
  • 迭代 NSOrderedSet

    我正在尝试迭代 NSOrderedSet 的实例 像这样的事情 func myFunc var orderedSet NSOrderedSet array 42 43 44 for n in orderedSet NSLog i n 但是
  • UICollectionView 未出现

    我正在尝试设置UICollectionView 以编程方式在我的视图控制器中扩展UIViewController 由于某种原因 我的收藏视图根本没有显示 以下是我所拥有的 为什么没有出现 我将它连接到委托和数据源并将其添加为子视图self
  • UISearchController 保留问题

    我正在尝试使用 UISearchController 但是我遇到了无法解决的保留问题 MainTableview 有两个部分 第1节 基于某些正则表达式过滤数据 第2节 All Data 我将 UISearchController 添加到我
  • 使用 Google place API 从 lat long 获取附近的地点

    我正在使用 google place API 即 https maps googleapis com maps api place search json location 33 7167 73 0667 radius 500 type f
  • 如何使用 Swift 获取 YouTube 频道的所有播放列表?

    我的问题不是关于从一般频道检索视频 我只想获取该频道创建的所有 播放列表 并检索每个播放列表的缩略图 标题和视频数量 这是一个 YouTube 频道示例 正如您所看到的 有很多已创建的播放列表 截至目前 我只能获取某个频道最新上传的视频 在
  • 混合静态和动态 UITableViewController 内容会导致 NSRangeException

    我一直在寻找这个错误 并找到了一些具有类似行为的帖子 但没有解决问题的解决方案 我有一个 UITableViewController 在 SB 中声明为静态 它具有以下部分 第 0 部分 配方 是静态的 有 4 个单元格 第 1 部分 口味
  • 如何将音乐从我的应用程序切换到 iPod

    我在用MusicPlayerController我的应用程序中的对象来播放音乐 我知道当 iPhone ipod 应用程序终止时 可以继续播放我的应用程序音乐 我该怎么做 这涉及到一些事情 您必须在两种音乐播放器之间进行选择 应用程序音乐播
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • iOS WKWebView.scrollView委托导致BAD_ACCESS

    我的 viewController 有一个 UIView 属性 其中包含一个 WKWebView 我将 WKWebView rollView 委托设置为我的 viewController 它是我的 UIView 子类的公共函数 并在我的 v
  • 自定义 MKAnnotationView - 如何捕获触摸而不忽略标注?

    我有一个自定义 MKAnnotationView 子类 它完全按照我想要的方式显示视图 在那个视图中 我有一个按钮 我想捕获按钮上的事件来执行操作 这很好用 但是 我不希望标注被忽略或消失 基本上 触摸标注中的按钮将开始播放声音 但我想保留
  • 应用程序未通过协同设计验证?

    我在提交 iPhone 申请时遇到问题 我看到了一些类似的问题 但没有找到答案 当我存档项目并单击 验证 时 收到错误消息 应用程序未通过协同设计验证 签名无效 或者未使用 Apple 提交证书进行签名 我假设我在协同设计部分做错了什么 我
  • 显示键盘时如何在 TextView 下方添加更多填充

    当我在 ScrollView 中有 TextField 并点击它时 键盘会按预期显示 但似乎 TextField 已向上移动到足以显示输入区域 但我希望移动到足够的位置 以便整体可见 否则它看起来像是被剪裁了的 我找不到改变这种行为的方法
  • 为什么这个 SKPhysicsJointPin 不能将这 2 个精灵保持在一起?

    我显然不太了解 SKPhysicsJoint 但是除了 Apple 文档之外 网上的信息还很少 下面的代码有什么问题 我认为应该保持头部和颈部永久连接 我的意图是它们就像两张带有大头针的纸 这样它们可以旋转一点 但不仅仅是完全分开 当我运行
  • KeyboardAvoidingView - 隐藏键盘时重置高度

    我正在使用 React NativeKeyboardAvoidingView设置我的高度View当显示键盘时 但是当我关闭应用程序中的键盘时 视图的高度不会变回原来的值

随机推荐

  • 在 C# 中从 C++ 代码中获取对象功能

    我有一个用 C 编写的函数 它调用旧库中的一些函数 该函数创建一些内存 进行调用并销毁内存 为了优化这一点 我将创建一个对象 该对象将保留分配的内存 直到该对象被销毁 不过 我将从 C 调用此函数 并且不相信我可以导出类 而只能导出函数或变
  • 如何在 C# Asp.net 中取消注册 Page.ClientScript

    我正在将 java 脚本注册到我的 Asp net 代码隐藏文件中 该文件工作正常 现在 我在同一页面上有一些更新面板 问题是每当任何更新面板中有任何更改时 都会自动调用此脚本 有什么办法可以阻止这种情况发生吗 我无法从我的页面中删除更新面
  • 如何在PHP中显示或预览上传的图像,而不保存到数据库?

    我的项目实际上涉及2个页面 第1页是一个表单 用于将上传的图像提交到第2页action 2page php 并将显示和预览图像 它应该在客户端服务器上运行 这意味着不涉及将图像文件保存到其中并将特定图像检索回我想要执行的页面的数据库 实际上
  • WELD-001409 不明确的依赖关系

    我想将我的 ejb ProfileEJB 注入到我的 jsf 托管 bean SampleController 中 如下所示 Stateless LocalBean public class ProfileEJB PersistenceCo
  • 我想创建一个 DeskBand。我必须使用 C++ 吗?

    我想创建一个 DeskBand 来在 Windows 任务栏上显示一些信息 但我正在努力在 C 中实现我需要的功能 我接触C 已经有10 15年了 过去 7 年我一直在 NET 中工作 在你说之前 我知道 DeskBands 已被弃用 但建
  • 在 pandas 中保存跳过行并读取 csv

    我有一个清单跳过行 说 1 5 10 gt 行号 当我将其传递给熊猫read csv 它会忽略这些行 但是 我需要将这些跳过的行保存在不同的文本文件中 我浏览了 pandas read csv 文档和其他几篇文章 但不知道如何将其保存到文本
  • 使用 Java URLConnection 进行 Cookie 管理

    我对 android 编程相当陌生 最近成功实现了 HTTP Post 请求 却发现我的 cookie 没有存储在后续的 Post Get 请求之间 我浏览了互联网 找到了一些 Android 的 Apache 客户端和 Java 的 Ht
  • Facebook Like 按钮,用于来自其自己的 ios 应用程序的应用程序的一个 Facebook 页面

    我正在寻找在我的 ios 本机应用程序中显示 Like 按钮 该应用程序的用户已经通过 Facebook 帐户连接到应用程序 stackoverflow 上有几个与 Facebook Like Button 相关的问题 但这些问题并不特定于
  • 可以在一页上使用相同的 schema.org 标记两次吗?

    在产品页面上 我在不同位置对一种产品有两个聚合评级 这意味着它们包含相同的信息 由于用户体验原因 我希望在该页面上出现两次 但我不确定是否可以每次都使用 schema org 标记它们 或者这是否是无用的重复 想知道是否有解决方案itemr
  • 如何在 Clojure 中获取参数名称?

    我想从函数内部获取函数外部定义的 var 的名称 该名称应该是我在原始定义范围内使用的名称 而不是我实际尝试使用该名称的任何嵌套绑定 所以我想做一些类似的事情 学术示例 defn f1 x1 println hello you passed
  • Tkinter按钮命令返回值?

    我在从 tkinter 返回变量时遇到问题Button命令 这是我的代码 class trip calculator def init self file self gui def gui self returned values def
  • Spring Boot Cloud Foundry 错误中没有独特的服务映射接口错误

    我正在尝试遵循本教程https github com cf platform eng spring boot cities tree master cities service在 Cloud Foundry 中运行我的 Spring Boo
  • 特征列预训练嵌入

    如何使用预训练嵌入tf feature column embedding column I used pre trained嵌入tf feature column embedding column 但这不起作用 错误是 错误是 ValueE
  • PIP如何确定多个依赖的依赖的版本

    假设我们在 Python 中有以下依赖树 PIP作为包安装程序 A 1 2 1 B 1 5 4 C D 1 3 0 C 我们还假设包的现有版本C分别是 0 0 8 1 0 2 据我们所知 PIP不会将同一包的不同版本安装到环境中 这意味着它
  • 无法使用 GraalVM 生成本机映像

    我试图使用 quarkus 和 GraalVM 创建一个自定义运行时 Lambda 并在此过程中 https quarkus io guides amazon lambda 我试图为 Gradle 应用程序构建一个本机映像 我在 Windo
  • 选择随机行,但一列中没有重复的值

    这是从单个表中进行的简单选择 目的是随机选择四种产品 从 x 个类别中的每个类别中选择一种 并有一些 位置 限制 我试过这个 SELECT pName pID from products WHERE pDisplay 1 AND pFeat
  • 使用 PHPExcel 在 1 个单元格内设置不同的字体颜色

    我想使用 PHPExcel 让文本在 1 个单元格内具有不同的颜色 但我找不到有关它的信息 是否可以 我相信它可以从 xls 中完成 但是可以在 PHPExcel 中使用编程来完成吗 是的 可以使用 Rich Text 对象在 PHPExc
  • 比较集合的函数;帮助提高效率

    我正在尝试编写一个函数来比较两个列表以查看它们是否代表同一组 那是 a b c d d and d c b a d 代表同一个集合 元素可以按任意顺序排列 这就是我所拥有的 有效的 defun samesetp list1 list2 co
  • 我无法获取 HTML 页面的完整源代码

    使用Python 我想抓取一个网页上的数据 该网页的来源非常大 它是某个用户的Facebook页面 假设该 URL 是我要抓取的 URL 我运行以下代码 import urllib2 usock urllib2 urlopen url da
  • UITableViewCell 自定义类 - 子视图高度约束更改后重新加载单元格高度

    我有一个自定义按钮UITableViewCell班级 它显示 隐藏视图 同一单元格的一部分 这样做时单元格的高度应该改变 这是按钮操作 在UITableViewCell自定义类 IBAction func showHideCartView