这个问题是关于“风格”的,因为我认为这是一个非常普遍的问题,我正在寻找一个优雅的解决方案。我创建了一些“高级” UIView,并尝试使它们非常可定制。通常我在自定义 init 方法中创建 UIView 结构,但我需要知道 init 方法中所有可自定义参数的值,所以有时我需要一个很长的 init 方法,例如:
initWithFrame:color:font:verticalspace:verylonglist:
我尝试使用委托设计模式,但我还需要在 init 方法中传递委托。
我实际的最佳解决方案是将 init 方法留空,并在“配置”方法中移动有关布局的所有内容。每次我遇到像背景颜色或字体这样的属性时,我都会调用此方法并重建视图。
我认为有一个最好的方法来解决这个问题......我很想看看 UITableView 类的代码,因为使用那个类你可以在 init 方法之外传递一个委托。