-----------
启动图片设置
1、设置启动图片 高度568图片必须要有 否则启动后UIView界面的大小变成480了
2、隐藏启动隐藏状态栏 启动后显示状态栏
设置启动时 隐藏状态栏 也就是导航栏上面的wifi等
supporting files-》info.plist-》增加最后一个
启动之后显示状态栏
3、设置appIcon
美工做好了 不用管了
4、appIcon玻璃球效果取消
(
iphone4s手机 6.1的系统测试一下
发布代码到6.1系统上
6.1系统会对appIcon图片增加一个灰白色
勾选ios icons is pre-rendered就可以了, 并且删除原来的应用(防止缓存) product->clean
【 这个了解一下:xcode4的操作方式 没有image.assets info.plist 】
)
-
5、
有的公司安装模块来划分文件夹 先show in finder 在里面创建好目录 再把目录拖进来
6、storyboard一个tabbarController 5个navigationController 拖线
美工提供的图片是图文混合的(文字不想要 但是只设置图片 不设置文字不行(在storyboard->uibabbarController->navigationController 的 tabbar item上设置图片 没有文字是不行的)) 所以要自定义tabbar 替换系统的tabbar 并且移除系统的tabbar (让navigationController的tabbar item设置无效)
不在storyboard里设置 每个tabbar item
@implementation NJTabBarController - (void)viewDidLoad { [super viewDidLoad]; // 1.创建自定义的TabBar NJTabBar *myTabBar = [[NJTabBar alloc] init];//代码init会创建自动调用initWithFrame initWithFrame方法 创建和添加子控件(自定义Button 设置一些初始状态值)
并且在NJTabBar的layoutSubviews里初始化子控件(自定义button的)的frame (注意一定要这样写 如果直接在initWithFrame方法里直接设置子空间的frame值 会导致子空间的frame还是{(0,0),(0,0)})
// myTabBar.backgroundColor = [UIColor greenColor]; myTabBar.frame = self.tabBar.frame;//将系统的tabBar.frame交给自动以的frame myTabBar.delegate = self;// myTabBar加代理人为NJTabBarController 控制器 准备通知NJTabBarController切换控制器 [self.view addSubview:myTabBar]; // 2.删除系统自带的tabBar [self.tabBar removeFromSuperview];
自定义用自定义NJtabBar代替navController.tabBar 有一个好处 就是在6.1 和7.1的系统上都可以正常显示 如果不自定义tabBar在6系统很难看
UIControlStateDisabled方法
自定义myButton继承UIButton 重写按下(还没抬起来)父类UIButton setHighlight方法将自己变灰了
所以muButton要重写 UIButton的 setHightLight方法 让这个方法设置空操作
#import "NJTabBarButton.h" @implementation NJTabBarButton - (void)setHighlighted:(BOOL)highlighted { // NSLog(@"setHighlighted"); // [super setHighlighted:highlighted]; } @end
NJtabBar(里面添加了几个自定义button) 点击button button通知tabbarController去切换控制器 修改其selectedIndex
批量设置导航条背景色:
不让push出去的控制器来管理各自的导航条的背景图片
// 3.设置导航条的主题 // 如果要同时设置很多UINavigationBar的样式, 可以通过设置UINavigationBar的主题的方式来设置以便简化代码 UINavigationBar *navBar = [UINavigationBar appearance]; // 3.1设置所有导航条的背景图片 // 判断当前运行的操作系统的版本 // NSLog(@"systemVersion= %@", [UIDevice currentDevice].systemVersion ); if ([[UIDevice currentDevice].systemVersion doubleValue] >= 7.0) { [navBar setBackgroundImage:[UIImage imageNamed:@"NavBar64"] forBarMetrics:UIBarMetricsDefault]; }else { [navBar setBackgroundImage:[UIImage imageNamed:@"NavBar"] forBarMetrics:UIBarMetricsDefault]; }
------
打印当前系统版本号 是6.1还是7.1系统
// NJTabBarController.m // 09-彩票(lottery) #import "NJTabBarController.h" #import "NJTabBar.h" #import "NJTabBarButton.h" @interface NJTabBarController () // 定义变量记录当前选中的按钮 @property (nonatomic, weak) UIButton *selectBtn; @end @implementation NJTabBarController - (void)viewDidLoad { [super viewDidLoad]; // 1.创建自定义的TabBar NJTabBar *myTabBar = [[NJTabBar alloc] init]; // myTabBar.backgroundColor = [UIColor greenColor]; myTabBar.frame = self.tabBar.frame; [self.view addSubview:myTabBar]; // 2.删除系统自带的tabBar [self.tabBar removeFromSuperview]; // 3.创建5个按钮,添加到自定义TabBar上 for (int i = 0; i < 5; i++) { // 3.1创建按钮 NJTabBarButton *btn = [[NJTabBarButton alloc] init]; // 3.2设置按钮上显示的图片 // 3.2.1设置默认状态图片 NSString *norImageName = [NSString stringWithFormat:@"TabBar%d", i + 1]; [btn setBackgroundImage:[UIImage imageNamed:norImageName] forState:UIControlStateNormal]; /* // 3.2.2设置选中状态图片 // 更正,由于按钮被选中后不应再被点击, 所以应该用不可用状态 NSString *selImageName = [NSString stringWithFormat:@"TabBar%dSel", i + 1]; [btn setBackgroundImage:[UIImage imageNamed:selImageName] forState:UIControlStateSelected]; */ NSString *disableImageName = [NSString stringWithFormat:@"TabBar%dSel", i + 1]; [btn setBackgroundImage:[UIImage imageNamed:disableImageName] forState:UIControlStateDisabled]; // 3.3设置frame CGFloat btnY = 0; CGFloat btnW = myTabBar.frame.size.width / 5; CGFloat btnH = myTabBar.frame.size.height; CGFloat btnX = i * btnW; btn.frame = CGRectMake(btnX, btnY, btnW, btnH); // 3.4添加按钮到自定义TabBar [myTabBar addSubview:btn]; // 3.5监听按钮点击事件 // [btn addTarget:self action:@selector(btnOnClick:) forControlEvents:UIControlEventTouchUpInside]; [btn addTarget:self action:@selector(btnOnClick:) forControlEvents:UIControlEventTouchDown]; // 3.6设置默认选中按钮 if (0 == i) { [self btnOnClick:btn]; } // 3.7设置按钮高亮状态不调整图片 btn.adjustsImageWhenHighlighted = NO; // 3.8设置按钮的Tag作为将来切换子控制器的索引 btn.tag = i; } } /* 默认 高亮 选中 不可用 */ - (void)btnOnClick:(UIButton *)btn { NSLog(@"btnOnClick"); // 0.取消上一次选中的按钮 // self.selectBtn.selected = NO; self.selectBtn.enabled = YES; // 1.设置当前被点击按钮为选中状态 // btn.selected = YES; btn.enabled = NO; // 2.记录当前选中的按钮 self.selectBtn = btn; // 3.切换子控制器 self.selectedIndex = btn.tag; } @end
// NJTabBarButton.m // 09-彩票(lottery) #import "NJTabBarButton.h" @implementation NJTabBarButton - (void)setHighlighted:(BOOL)highlighted { // NSLog(@"setHighlighted"); // [super setHighlighted:highlighted]; } @end
-
7、设置所有当前UINavigationBar的对象的颜色
//For example, to modify the bar tint color for all UINavigationBar instances:
[[UINavigationBar appearance] setBarTintColor:myColor];
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"NavBar"] forBarMetrics:UIBarMetricsDefault];