- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 充满数据的数组 在 中加载图像表 View 单元格。 但是我越来越小滞后 (更多的小故障)当表格 View 在图像索引上滚动。
数组包含数据(似乎滞后更大的字节)
Data in Bytes(624230 bytes)
Data in Bytes(1619677 bytes)
Data in Bytes(2257181 bytes)
Data in Bytes(1120275bytes)
struct messageCellStruct {
let message: String!
let photoData: Data!
}
var messageArray = [messageCellStruct]()
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
let message2 = cell?.viewWithTag(2) as! UITextView
var photoUploadData = messageArray[indexPath.row].photoData
let main = DispatchQueue.main
let background = DispatchQueue.global()
let helper = DispatchQueue(label: "another_thread")
if(photoUploadData != nil){
print("Data in Bytes\(String(describing: photoUploadData))")
let fullString = NSMutableAttributedString(string: "")
let image1Attachment = NSTextAttachment()
let newImageWidth = (self.message.bounds.size.width - 20 )
let messageDisplayString = self.messageArray[indexPath.row].message
background.async {
image1Attachment.image = UIImage(data: photoUploadData!)
}
image1Attachment.bounds = CGRect.init(x: 0, y: 0, width: newImageWidth, height: 200)
let image1String = NSAttributedString(attachment: image1Attachment)
fullString.append(image1String)
fullString.append(NSAttributedString(string: messageDisplayString!))
message2.attributedText = fullString
message2.textColor = .white
message2.font = UIFont.systemFont(ofSize: 17.0)
}else {
message2.text = self.messageArray[indexPath.row].message
}
return cell!
}
最佳答案
你不应该在后台线程上执行任何 UI 操作。
删除 background.async
从
background.async {
image1Attachment.image = UIImage(data: photoUploadData!)
}
image1Attachment.image = UIImage(data: photoUploadData!)
UIImage(data: photoUploadData!)
我同意这是一个同步调用,但不会造成延迟,真正的罪魁祸首是
let image1String = NSAttributedString(attachment: image1Attachment)
NSAttributedString
众所周知是臭名昭著的。
let image1String = NSAttributedString(attachment: image1Attachment)
fullString.append(image1String)
fullString.append(NSAttributedString(string: messageDisplayString!))
message2.attributedText = fullString
message2.textColor = .white
message2.font = UIFont.systemFont(ofSize: 17.0)
NSAttributedString
的问题。我们有同样的问题,它通常会在滚动大量行时加起来滞后。因此我们决定选择
DTCoreText
NSAttributedString
更好。
NSAttributedString
。 .由于 OP 想要做的只是在其下方显示图像和文本,因此他不知道如何处理单元格中的多个组件,因此我正在将答案更新为相同。
imageHeightConstraint
cellFroRowAtIndexPath
cell.imageHeightConstraint.constant = cell.bounds.size.width * aspectRatioOfImage
configure
则更好单元格中的方法,然后您希望单元格配置其 subview
self.imageHeightConstraint.constant = self.bounds.size.width * aspectRatioOfImage
Float
来自
CGFloat
我相信你能做到:)
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 44.0;
关于ios - TableView Cell with Minor Lag (Async Proper Use?) Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49399483/
library(dplyr) library(stats) 我正在使用滞后变量运行大量回归,并且我的 R 控制台与上述包有冲突。我知道我可以通过为每次回归输入“dplyr::lag()”来规避这个问题
正如标题所说。加载 pglm 后,lag 停止正常工作。 library(pglm) c(1,2,3,4) %>% lag() 该对象被转换为时间序列,并且不再与 tibbles 兼容。 即使卸载pg
正如标题所说。加载 pglm 后,lag 停止正常工作。 library(pglm) c(1,2,3,4) %>% lag() 该对象被转换为时间序列,并且不再与 tibbles 兼容。 即使卸载pg
我目前正在为我的投资组合网站构建一个修改后的光标。不幸的是,当我尝试滚动和移动光标时,我的光标出现滞后。但是,当我从 HTML、CSS 和 JavaScript 中删除所有其他元素并且只有与我的光标相
如果浏览器应用程序执行计算量较大或阻塞的操作,则事件循环将会延长。 有没有办法获得有关事件循环长度的定性指标? 这是为了衡量客户端 Web 应用程序在客户端上呈现的“容易程度”(即是否有足够的计算资源
我有一个问题。我正在 tkinter 中制作平台游戏,但遇到问题:我现在有:玩家、积木和硬币。我正在更新玩家的 Action 及其动画和硬币的动画,由于某种原因,当我投入太多硬币时,玩家的 Actio
我有一个包含 3 个 fragment 的 ViewPager Fragment。每个都有一个图像作为背景和一个 TextView。 TextView 始终绝对位于屏幕左侧(而不是 Fragment
当我尝试在 CLOB 列上使用 LAG 函数时遇到问题。 假设我们有一张 table create table test ( id number primary key, not_cl
您好,我是 SQL 的新手,希望有人能帮助我解决这个问题。我一直在这里和那里使用滞后函数,但想知道是否有办法重写它以使其进入总和范围。因此,我想将前 12 个月的每个时间段加在一起,而不是之前的一个月
我清楚地记得 T-SQL 永远不会让您混合使用 LAG 和 WHERE。例如, SELECT FOO WHERE LAG(BAR) OVER (ORDER BY DATE) > 7 永远不会工作。无论
我的数据文件是许多结构相似的文本文件的合并: 行“新文件开始”, 行与文件名, “数据线”有两列:域和事件数 每个文件的此类“数据行”数量可能从 0 到数十万不等目标是添加新列,每一行将指示它相关的文
我正在尝试在 R 中复制以下公式: Xt = Xt-1 * b + Zt * (1-b) 我正在使用以下代码 t %>% mutate(x= ifelse(week == 1, z, NaN))
我今天来找你是因为我正在努力处理涉及 LAG 函数的查询(仅供引用,我使用的是 PostgreSQL)。我有一张表格,其中包含每月按国家/地区销售给另一个产品的产品数量。该表定义如下: create
当我尝试在 tibble 中的一列字符上使用滞后函数(来自 dplyr 库)时,我在 R 中遇到以下错误: Error in mutate_impl(.data, dots) : Expecting
我有两个向量,subject 和 target。我想根据两个现有向量之间的比较创建一个新向量,比较元素 lagged。我已经使用下面的循环解决了这个问题,但我本质上想知道是否有使用 apply 的更优
我有一个日期表,我需要在其中存储前一行的 val当前行中的列。但是,我不能使用 LAG子句,因为存在缺失的日期,并且只有在前一个直接日期存在时才应提取前一个值并将其存储在当前行中。因此我必须(我认为)
我是 SQL Server 的新手,我对 lag() 函数有一些疑问。 我必须计算两个用户事件之间的平均距离(以天为单位)。然后,我必须对所有用户进行 GROUP BY,计算每个用户行之间的所有日期差
嗨,我正在我的网络应用程序中实现实时搜索(=输入时搜索)功能。目前我正在使用 keyup 事件通过 ajax post 发送搜索请求,例如 $('#SearchField').keyup(functi
这里可能存在 BigQuery 错误?我正在运行一个查询,该查询使用 LAG() 函数来获取先前的时间采样值。例子: 架构: id: STRING time: TIMESTAMP 询问: SELECT
如何告诉 LAG 函数获取最后一个“非空”值? 例如,请参阅下面的表,其中 B 列和 C 列上有一些 NULL 值。我想用最后一个非空值填充空值。我尝试使用 LAG 函数来做到这一点,如下所示: ca
我是一名优秀的程序员,十分优秀!