整个 iOS 应用程序的通用样式

General Styling for the Whole iOS App

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

我想做的是定义自定义"Header"样式、自定义"ToolBar"样式、自定义"Body"样式等,并在我项目的不同UIControlView中使用它们。

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

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

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

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

正如您所说,创建一个 configuration.swift 文件,其中包含您的配置和 returns 基于配置的视图,然后使用此配置创建自定义视图。这是我在上一个应用程序中所做的方式。另外,查看此片段以实际理解我所说的 http://www.objc.io/snippets/20.html

许多 类 有协议 UIAppearance 设置它们的默认属性,如字体、textColor、backgroundColor 等

例如:

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

List of all classes using UIAppearance

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

基于 UITableViewController 的 "parent" 视图控制器,并包含您的常用属性和方法。

然后将所有 "child" 视图控制器基于 "parent"。

例如 Objective C:

"Parent" 查看控​​制器头文件...

#import <UIKit/UIKit.h>

@interface MyParentTableViewController : UITableViewController

@end

"Child" 查看控​​制器头文件...

#import <UIKit/UIKit.h>

@interface MyChildTableViewController : MyParentTableViewController

@end

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

我一直在使用 pod NUI for styling the complete iphone Application. There are couple of other options like UISS

还有一些其他的商业选择,但以上两个在外化应用程序样式方面做得非常出色。

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