【发布时间】:2024-05-23 08:45:01
【问题描述】:
我有一个没有笔尖的视图控制器。我正在代码中创建视图。我在viewDidLoad中一直是这样做的@
UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 475, 50.0)];
self.headerView = header;
self.headerView.backgroundColor = [UIColor yellowColor];
[self.view addSubview:self.headerView];
UIView *footer = [[UIView alloc] initWithFrame:CGRectMake(0, self.view.height - 50.0, 475, 50.0)];
self.footerView = footer;
self.footerView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
self.footerView.backgroundColor = [UIColor greenColor];
[self.view addSubview:self.footerView];
等等。然而,随着我的viewDidLoad 变得越来越长,我觉得这可能不应该在我的控制器中。这真的应该是一个子类 UIView,然后加载到我的viewDidLoad 中吗?这种情况的 MVC 最佳实践是什么?
【问题讨论】:
-
同意@gcamp 和 JeremyP。但无需及早过度设计。记下你的 viewLoad 变得越来越丑陋,一旦你开始意识到这些视图需要做的所有其他事情,就构建你的子类。 (就像它们可能都是公共子类的子类)。当您了解更多时就去做,并为关心它而感到自豪!
标签: iphone objective-c ios ipad model-view-controller