我想问的是一个设计问题。谁应该定制CustomUIView的外观
我有一个CustomUIViewController处理控制器视图内的一些子视图。
这两种观点是逻辑上不同的,并且具有不同的角色:
- 第一子视图包含UIControl对象,用户可以与 (游戏操作)相互作用。
- 第二个子视图只显示游戏进度。
问题是我需要有多个游戏控件的实现(比方说两个图形完全不同),并让用户选择他喜欢的那个。
我的问题是:将CustomUIViewController的代码与两个游戏控件实现(包括用于自定义每个游戏控件的外观的图形资源)结合起来会被认为是一个好习惯吗?或者如果游戏控制视图的外观设置由另一个对象(工厂,委托或类似的东西)处理,会更好吗?
你能提出任何可以帮助处理这种用例的模式吗?
预先感谢您。
控制器通常会控制。您也可以让控制器监控用户选择的变化,然后在游戏控制视图上设置一个标志。该标志指示在显示时使用哪些图形(并且标志变化会导致重新显示/更改图像资源),具体取决于您当前如何分配有关图像名称的知识。 – Wain
@Wain:哪一个被认为是关于图像名称的最佳实践:将其嵌入到CustomUIViewController中,或者将其放入专门的Game Control视图中? – Gabriele
我会选择他知道图像名称的控制器。我不会说这两者都是最佳做法。只要结构合理且一致,视图就可以指定其默认图像,并向用户(控制器)提供更改它们的选项。如果视图呈现几种显示风格,那么它可以管理这一切。考虑一下'UITableView'和它提供的功能... – Wain