绘制线条在iOS14上不起作用。
我创建了UITableViewCell
的子类。
我想在自定义单元格中画两条线。
代码在下面。
override func draw(_ rect: CGRect) {
super.draw(rect);
guard let context = UIGraphicsGetCurrentContext() else { return }
context.saveGState() // Save state. This includes transformations and clips
context.setLineWidth(7.0)
// let lineColor = UIColor(hex: "FC5622")!
// let bgColor = UIColor(hex: "E8E6EB")!
//
let lineColor = UIColor.red
let bgColor = UIColor.lightGray
context.setStrokeColor(bgColor.cgColor)
context.move(to: CGPoint(x: 76.0, y: 32))
context.addLine(to: CGPoint(x: (76.0 + 120.0), y: 32))
context.setLineCap(.round)
context.strokePath()
context.setLineWidth(7.0)
context.setStrokeColor(lineColor.cgColor)
context.move(to: CGPoint(x: 76.0, y: 32))
context.addLine(to: CGPoint(x: (76.0 + 120.0 * self.lineScale ), y: 32))
context.setLineCap(.round)
context.strokePath()
context.restoreGState() // Put back state. This includes transformations and clips
}
它在iOS 12上运行良好。它在iOS 14上不起作用。(不知道在iOS 13上是否管用)。
我不知道我能做些什么来解决这个问题。
你知道原因吗?你能修好它吗?
不应该重写表格单元格的绘图(_rect:CGRect)
。相反,创建一个新的自定义视图并将其添加到单元格的contentView中,然后在其中绘制。
您应该创建UIView
并将其作为contentView属性的子视图添加。关于DrawRect:
和UITableViewCell
,这里和整个web上有很多问题/答案,其中大多数建议您不要这样做。
您不应该试图重写表格视图单元格的draw(_rect:CGRect)
。单元格有子视图,子视图有子视图,单元格本身做的不仅仅是“存在”。
如果您使用debug View hierarchy
,您就会看到哪里出了问题,这将进一步说明这是个坏主意的原因。
使用IOS14
时,单元格结构发生了变化,您应该只操作单元格的.contentView
,而不是单元格本身。
更好的做法是将其作为一个自定义视图添加到内容视图中。
我有以下Sikuli代码在JMeter这是不工作。 我尝试了Beanshell采样器和JSR223采样器,但在这两种情况下都不起作用。这是我得到的错误。 JSR223采样器 响应消息:javax。剧本脚本异常:javax。剧本ScriptException:FindFailed:C:\scripts\patterns\vnc\vncviewer。png:(32x31)在R[0,0 1920x108
在我的项目中,电影和演员、电影和类别之间有着多对多的关系。当我尝试创建一部电影,然后尝试使用Select2添加演员和类别时,它不会列出可用的选项(输入字段看起来是灰色的,好像它们被锁定了)。我查看脚本是否正在加载,它们是否正在加载。这是我的密码。
因此,我正在运行一个脚本,该脚本调用: 在ubuntu上运行时似乎工作良好,但当我使用Git Bash在Windows上运行时,会出现以下错误:
使用scandir()函数时,我收到以下php警告: Scandir无法打开目录:公共html/page2中不允许操作。php在线3 第2页。php 我想使用这个功能来打印我的根文件夹的文件和子目录,但它不工作。 有人知道怎么修吗?
问题内容: 从上一个私有方法春天在什么@Transactional属性的工作? 使用代理时,应仅将@Transactional注释应用于具有公共可见性的方法。如果使用@Transactional注释对受保护的,私有的或程序包可见的方法进行注释,则不会引发任何错误,但是带注释的方法不会显示已配置的事务设置。 我可以想到排除和方法的充分理由,但是为什么方法不能在事务上表现呢?以下堆栈跟踪显示了公共方法
我可以想出排除和方法的充分理由,但为什么方法不会以事务性方式运行呢?以下stacktrace显示了公共方法(通过接口代理调用)的正确行为: 当调用一个“完全相同”的受保护方法(通过非接口CGLIB代理)时,我们得到如下结果: 这显然是一个设计决定(为什么?),但我认为它很值得怀疑的是,当它显然是开发人员的错误时,它却无声无息地失败了。 编辑这显然不是使用接口(只是接口中的公共方法)时的问题,但由于