2016-04-07 29 views
0

我想要一个包含颜色的Panel作为UIVisualEffectView。所以,模糊背景和按钮。就像这样: enter image description here使用或扩展课程会更好吗? (swift)

我应该创建一个ColorPanelView类,它扩展UIVisualEffectView(或UIView的?),或使用UIVisualEffectView一个ColorPanel类?

有什么区别和哪种方式更好?

+0

这涉及到现代OO类设计最重要的规则之一。 “构成与继承”。 https://en.m.wikipedia.org/wiki/Composition_over_inheritance – Darko

回答

1

如果我理解正确的,你问如果你应该做的是子类UIVisualEffectView自定义视图,或者你应该添加一个UIVisualEffectView现有视图。

如果我的理解是正确的,那么答案,如果你需要在你的代码在其他地方重复使用此视图所依赖的。通过制作UIVisualEffectView的自定义子类,在其上放置面板,您可以轻松重复使用它,而不必重复太多的代码。

如果你知道你只需要一次,你可以再补充一个UIVisualEffectView现有视图,然后自定义它,你想要的方式。

+0

不,我只需要它一次,那么我可以在SCNScene上添加UIVisualEffectView吗?怎么样? –

1

要么将​​工作。

在这种情况下,我只想延长的UIView而不是UIVisualEffectView。原因是,如果设计发生变化,并且您希望彩色面板位于纯色背景上而不是背景模糊,则可以在不更改要扩展的类的情况下进行更改。

相关问题