Objective c 创建可自定义uiview的正确方法
这个问题是关于“风格”的,因为我认为这是一个非常常见的问题,我正在寻找一个优雅的解决方案。 我已经创建了一些“高级”UIView,并试图使它们非常可定制。 通常我在自定义init方法内创建UIView结构,但我需要知道init方法内所有可自定义参数的值,因此有时我需要一个非常长的init方法,如: initWithFrame:color:font:verticalspace:verylonglist: 我尝试使用委托设计模式,但我还需要在init方法中传递委托 我实际的最佳解决方案是将init方法留空,并将布局的所有内容移动到“configure”方法中。每次我偶然发现一个属性,比如背景色或字体,我都会调用这个方法并重建视图 我认为有一个最好的方法来解决这个问题。。。Objective c 创建可自定义uiview的正确方法,objective-c,ios,Objective C,Ios,这个问题是关于“风格”的,因为我认为这是一个非常常见的问题,我正在寻找一个优雅的解决方案。 我已经创建了一些“高级”UIView,并试图使它们非常可定制。 通常我在自定义init方法内创建UIView结构,但我需要知道init方法内所有可自定义参数的值,因此有时我需要一个非常长的init方法,如: initWithFrame:color:font:verticalspace:verylonglist: 我尝试使用委托设计模式,但我还需要在init方法中传递委托 我实际的最佳解决方案是将init方
我很想看看UITableView类的代码,因为使用该类可以在init方法之外传递委托 查看类似于
ui按钮
或ui标签
的内容。它们都有大量可配置的方面,但是,要简单地创建其中一个对象的实例,它们只需要很少的信息
通常,提供init方法,允许类的使用者指定类工作所需的最少信息量
如果您想给消费者一个用一组值初始化类的方法,请考虑使用某种类型的<代码> iNITWORD字典:方法,该方法采用了<代码> NSCORCHONE>代码>参数。这将使方法名保持简短,并允许用户为类自定义任意数量的设置
您还可以考虑为消费者提供一个具有某种标准值集的实例的方式。例如,code>UITableViewCell有一个
initWithStyle:reuseIdentifier:
方法。重要的部分是样式-UITableViewCell
提供了几种默认样式,如UITableViewCellStyleDefault
和UITableViewCellStyleSubtitle
,我不知道这是否是标准/最佳做法,但我在这种情况下使用字典,并将其传递给initWithDictionary
初始值设定项。也可以创建一个类方法,该类方法返回一个“默认设置”类型的字典,然后可以对其进行自定义(和委托设置),以便在使用该类时不必指定每个参数