整个iOS应用程序的一般样式

时间:2015-03-29 10:45:55

标签: ios cocoa-touch user-interface styling

我在创建iOS应用程序方面相当新,我对有关中心文本和文档的常见做法有疑问。项目中的颜色样式。

我想要做的是定义一个自定义的“Header”样式,自定义“ToolBar”样式,自定义“Body”样式等,并在我的项目中的不同UIControlViews中使用它们。

我希望能够更改其中一种样式,以便使用该样式的每个对象进行相应调整。

据我所知,在设计iOS应用程序时没有类似CSS的样式文件。

我想要做的是创建一个Swift文件,其中我的样式以某种方式定义为常量,并在viewDidLoad的所有UIViewController方法中添加代码块,用于设置相关对象的样式通过使用这些常量。

有没有更好的方法,或者做这种事情的常见做法是什么?

4 个答案:

答案 0 :(得分:4)

许多类都有协议UIAppearance,它设置了默认属性,如font,textColor,backgroundColor等。

例如:

UIButton.appearance().backgroundColor = UIColor.redColor()

List of all classes using UIAppearance

答案 1 :(得分:2)

正如您所说,创建一个包含您的配置的configuration.swift文件,并根据配置返回一个视图,然后使用此配置创建自定义视图。这是我在上一个应用程序中的方式。另外,请检查此代码段以真正了解我所说的http://www.objc.io/snippets/20.html

答案 2 :(得分:0)

了解视图控制器多态性和视图控制器层次结构。

UITableViewController上设置“父”视图控制器,并包含您的常用属性和方法。

然后将所有“子”视图控制器基于该“父”。

例如,在目标C中:

“父”视图控制器头文件...

#import <UIKit/UIKit.h>

@interface MyParentTableViewController : UITableViewController

@end

“子”视图控制器头文件...

#import <UIKit/UIKit.h>

@interface MyChildTableViewController : MyParentTableViewController

@end

因此,通过这种方式,父级的所有公共属性和方法都可供子级使用,并且只需在父实现文件中写入一次。

答案 3 :(得分:0)

我一直在使用pod NUI来设置完整的iphone应用程序样式。还有其他几个选项,例如UISS

其他商业选项也很少,但上述两种做法外部化了应用程序的样式。

我使用了NUI,它使我能够提供多个主题,甚至允许最终用户切换主题。