彩票1-(二期0616-0617)

-----------

启动图片设置

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];

 

转载于:https://www.cnblogs.com/zff193/p/5264338.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值