Ios 自定义UIView性能

Ios 自定义UIView性能,ios,swift,performance,uiview,Ios,Swift,Performance,Uiview,我使用draw(\rect:CGRect)方法创建自定义UIView并执行所有操作。此外,我还想通过调用self.addSubView方法添加新视图,并添加约束和手势识别器 我考虑性能,在draw(rect:CGRect)方法中做这些事情可以吗 谢谢 在draw(rect:CGRect)方法中完成所有操作可以吗 绝对不是。这与绩效无关;它与draw的含义有关。意思是抽签。在draw中,您应该做的唯一一件事就是给出绘图命令,以便在为您提供的图形上下文中绘图 另一个问题是,draw可以在视图的生命周

我使用
draw(\rect:CGRect)
方法创建自定义UIView并执行所有操作。此外,我还想通过调用
self.addSubView
方法添加新视图,并添加约束和手势识别器

我考虑性能,在
draw(rect:CGRect)
方法中做这些事情可以吗

谢谢

draw(rect:CGRect)
方法中完成所有操作可以吗

绝对不是。这与绩效无关;它与
draw
的含义有关。意思是抽签。在
draw
中,您应该做的唯一一件事就是给出绘图命令,以便在为您提供的图形上下文中绘图

另一个问题是,
draw
可以在视图的生命周期内多次调用,但添加约束和手势识别器只需执行一次


如果要添加约束和手势识别器,请在适当的时间添加,例如当视图被放置到其superview中时,或者当布局即将发生时。

在重写的
draw
方法中自定义绘图本身不会产生性能问题。但是,实现一个草率的绘制方法会导致这种情况


如果您正在添加,只需在那里绘制代码,并且您正在按照最佳实践进行操作。我相信你准备好了。

我不认为他会在
draw
@Zich中添加手势识别器或其他东西,我认为这正是他要做的。错了。如果他打算在那里添加不相关的代码,我完全同意你的看法。谢谢你的回复。因此,我需要将添加手势识别器移动到另一个位置(哪一个更好),但创建视图和添加约束是可以的,对吗?创建约束也不应该在那里,检查
layoutSubViews
为什么要创建3个相同的线程?臭虫还是什么?:)祝你好运,你的问题是什么