gpt4 book ai didi

iphone - iOS - 如何使用通用 View 根据属性绘制不同的 View ?

转载 作者:行者123 更新时间:2023-11-29 11:00:40 24 4
gpt4 key购买 nike

我有 2 个名为“AA”和“AB”的 View (在不久的将来我会有更多:“AC”、“AD”等)。现在在我的 viewControllers 中,我需要导入我所有的 UIView 子类并测试一些东西,以便知道我需要创建哪个 subview 并将其添加到 View 层次结构中。

我的想法是创建一个名为“A”的 View ,它将确定需要绘制哪些 subview 并将其类“更改”为私有(private)类,可以是“AA”或“AB”。但我不知道该怎么做。

当然,我可以测试需要测试的内容,然后将新 View 添加为 subview ,但我的想法是只有一个 View ,而不是 View 中的 View 。

感谢您的回答

最佳答案

您可以使用 State Design Pattern 的变体实现一个对象需要在运行时配置其事件的系统。您可以创建一个单独的 View ,而不是在一个 View 中创建 View ,该 View 保留一个列表,其中包含知道如何在 View 中绘制的事物,而不是它们本身是 UIView 对象。

这是一个例子:

@interface ViewDraw
-(void)drawInView; // the UIView caller can pass parameters here
@end
@interface ViewDrawA : ViewDraw
-(void)drawInView;
@end
@interface ViewDrawB : ViewDraw
-(void)drawInView;
@end
@interface ViewDrawC : ViewDraw
-(void)drawInView;
@end

现在您的 ViewA 类可以保留 ViewDraw 对象的 NSArray ,用它需要绘制的 View 绘制对象配置它,并且然后请他们画画。重新配置 ViewDraw 对象列表将产生 ViewA 在运行时更改其行为的效果。

关于iphone - iOS - 如何使用通用 View 根据属性绘制不同的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16019513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com