有关iOS项目基本框架的详细说明(2)

电脑杂谈  发布时间:2020-04-20 04:06:23  来源:网络整理

ios框架_ios mvc框架_ios photos框架

直接设置每个tabBarItem对象

// 普通状态下的文字属性
NSMutableDictionary *normalAttrs = [NSMutableDictionary dictionary];
normalAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:14];
normalAttrs[NSForegroundColorAttributeName] = [UIColor grayColor];
[vc.tabBarItem setTitleTextAttributes:normalAttrs forState:UIControlStateNormal];
// 选中状态下的文字属性
NSMutableDictionary *selectedAttrs = [NSMutableDictionary dictionary];
selectedAttrs[NSForegroundColorAttributeName] = [UIColor darkGrayColor];
[vc.tabBarItem setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];

请注意:

// 字典中用到的key
1.iOS7之前(在UIStringDrawing.h中可以找到)
- 比如UITextAttributeFont\UITextAttributeTextColor
- 规律:UITextAttributeXXX
2.iOS7开始(在NSAttributedString.h中可以找到)
- 比如NSFontAttributeName\NSForegroundColorAttributeName
- 规律:NSXXXAttributeName

通过UITabBarItem的外观对象统一设置

/**** 设置所有UITabBarItem的文字属性 ****/
UITabBarItem *item = [UITabBarItem appearance];
// 普通状态下的文字属性
NSMutableDictionary *normalAttrs = [NSMutableDictionary dictionary];
normalAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:14];
normalAttrs[NSForegroundColorAttributeName] = [UIColor grayColor];
[item setTitleTextAttributes:normalAttrs forState:UIControlStateNormal];
// 选中状态下的文字属性
NSMutableDictionary *selectedAttrs = [NSMutableDictionary dictionary];
selectedAttrs[NSForegroundColorAttributeName] = [UIColor darkGrayColor];
[item setTitleTextAttributes:normalAttrs forState:UIControlStateSelected];

3.3UIAppearance

只要一个类坚持UIAppearance,它就可以得到全局外观. UIview可以显示所有外观. 我们可以获得所有的tabBarItem外观标识符. 但是,通常不需要以下操作,因为以下方法可以全局获取. 在开发时,所有tabBarItem外观徽标通常都负责我们自己的开发,因此建议使用下面的第二种方法仅获取以下内容的tabBarItem外观徽标: 当前课程.

ios框架_ios mvc框架_ios photos框架

//获取全局的tabBarItem外观标识
UITabBarItem *item = [UITabBarItem appearance];

//获取当前这个类下面的所有tabBarItem
UITabBarItem *item = [UITabBarItem appearanceWhenContainedIn:self, nil]

外观使用注意事项: 必须在显示控件之前将其设置为有用,通常将其放置在+(void)加载方法中,而不是+(void)初始化中,因为+(void)加载方法将只能被调用一次,+(void)初始化可能被调用多次,您需要判断何时使用它.

load方法: 在加载类时调用,何时加载类?当程序一起移动时,将调用load方法. Initialize方法: 初始化类,并在首次使用该类或子类时调用viewdidload方法: 在首次显示viewcontroller时加载该方法. viewController是延迟加载的,即viewdidLoad仅在要显示时才加载,但是只有tabbarcontroller在创建控制器时才加载viewdidLoad.

PCH文件(Precompile Prefix Header File),即预编译的头文件,它的作用是方便您同时导入多个文件中使用的头文件ios框架,宏或URL地址(全局使用),可以有效地帮助您您可以节省时间并提高开发效率. 但是,由于Xcode 5,默认情况下不再提供此文件,如果要继续使用,则需要手动创建和配置. 至于为什么默认不再提供它,则可能是由于考虑了提高编译效率. 毕竟,预编译还会增加构建时间.

有关如何创建和配置PCH文件的详细信息,请参阅: 在iOS中创建和配置Pch文件

编写PCH文件时需要注意以下几点:

#ifndef PrefixHeader_pch
#define PrefixHeader_pch
/*** 如果希望某些内容能拷贝到任何源代码文件(OC\C\C++等), 那么就不要写在#ifdef __OBJC__和#endif之间 ***/
/***** 在#ifdef __OBJC__和#endif之间的内容, 只会拷贝到OC源代码文件中, 不会拷贝到其他语言的源代码文件中 *****/
#ifdef __OBJC__
#endif
/***** 在#ifdef __OBJC__和#endif之间的内容, 只会拷贝到OC源代码文件中, 不会拷贝到其他语言的源代码文件中 *****/
#endif

除了该类中的#define定义外,在iOS开发过程中,我们还可以在Build Setting中配置宏,而在Project中找不到Build Setting中定义的宏,也就是说,我们将显示一个[?]通过[command] + [mouse click]],无法跳转到相应的定义位置,这一次可以在Build Setting中进行配置,例如,我们经常看到的宏DEBUG在Build Setting中进行了配置

注意: 在“构建设置”中配置的宏的名称不能全部为小写字母. 如果宏的名称全部为小写,则会出现以下错误


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-181949-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...