iOS中的样式UI对象是否违反了MVC?

Eri*_*ich 5 model-view-controller uiviewcontroller ios ios6

我对MVC和iOS开发有些新意,我似乎无法调和UI样式如何适应这种范例.

我对MVC的看法是使用故事板构建的,我可以通过Xcode的属性检查器应用原始样式,但更复杂的是我必须使用Controller来设置样式.例如:

- (void) viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated]; // required

    // set background color of view
    [[self view] setBackgroundColor:[UIColor darkGrayColor]];
}
Run Code Online (Sandbox Code Playgroud)

这似乎明显违反了MVC,因为我在控制器代码中应用了样式逻辑.我发现这类似于编写HTML应用程序而不是使用样式表,我编写代码以在JavaScript中本地应用样式.这是iOS的弱点还是我做错了?

gio*_*shc 2

摘自苹果的文档

某些控制器对象还可能告诉视图对象更改其外观或行为的某个方面

它确实有意义,因为视图应该是被动的,仅将应用程序状态反映为 UI,并且控制器将“告诉”视图是否需要根据用户操作更改其某些内容。(例如背景变化、控件的可见性等...)