与Refactoring 3 different UI components into one UIView into a CocoaPod类似,但我想也许我正在做核心重构错误。
所以,我有一个3 UIView
个元素,我一直在重用:
我还想要重构一些验证和其他逻辑(就像保持新类一样,逻辑也被重用)。
那么,我是否要从UIViewController
子类开始,并在我使用这些元素或UIView
的任何地方添加?
我不知道UIVew
应该/可能需要验证逻辑。那么,我需要UIViewController
。但这对我来说没有多大意义,因为你的视图中有UIView
个对象,而不是UIVIewController
个对象。
思考?
编辑:
答案 0 :(得分:0)
我在my latest blog post中提到了这个问题。
您的问题中提供的信息非常少,无法提供详细的答案,但您可以采取多种方式。
您需要创建一个UIView
子类并为其添加subviews
作为标签,输入和复选标记,并将它们作为属性提供,以便您可以执行类似...
myReusableView.label.text = @"Hello world";
或
[myReusableView.input becomeFirstResponder];
然后你需要实际添加这些子视图。这可以在代码中完成......
- (instancetype)initWithFrame:(CGRect)frame
{
...
self.label = [UILabel new];
self.label.frame = //blah
[self addSubview:self.label];
...
}
或者你可以用笔尖做这个并附上插座......
在那里进行少量验证没有任何问题。这种情况很多时候都会发生。例如,如果您尝试将progressView值设置为大于1,那么它将捕获它并将其设置为1,依此类推。
这还取决于您正在进行的验证。您总是可以将它放在viewController中并将其用作子视图控制器(我个人不会这样做)。
你可以提供委托方法来"外包"验证到其他地方。
您正在做什么验证?