iOS项目基本框架

作者: Double丶K | 来源:发表于2016-09-23 13:38 被阅读141次

前传

下午闲来无事写了一个项目初始的框架,简单的做了自定义tabbar和NavgationBar,写了一个父类利用cocoapods集成了常用的几个三方框架,不过没有进行在封装后期还会添加内容,适合入门者来学习,大神勿喷.

正题

样式如下图

123.jpg

中间的按钮如果不想要可以到TYTabBar.m中把创建Button的代码注释掉即可,返回按钮也是自定义,利用UIBarButtonItem添加的分类进行定义,抽取出一个类方法

+(instancetype)itemWithImageNamed:(NSString *)imageName  target:(id)target action:(SEL)action
{
    UIButton * btn = [[UIButton alloc]init];
    [btn setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];
    NSString * highImageName = [imageName stringByAppendingString:@"-click"];
    [btn setImage:[UIImage imageNamed:highImageName] forState:UIControlStateHighlighted];
    [btn addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
    [btn sizeToFit];
    return [[UIBarButtonItem alloc]initWithCustomView:btn];
}

自定义tabBar也用了当下用的比较多的利用KVC替换系统的tabBar

TYTabBar * tabBar = [[TYTabBar alloc]init];
    [self setValue:tabBar forKey:@"tabBar"];

希望一起参与进来一起进步,一些常用工具类,后期会慢慢添加.

添加启动页的出现动画,最少需要4张图,我比较懒放了2张

    CGSize viewSize = self.window.bounds.size;
    NSString *viewOrientation = @"Portrait";    //横屏请设置成 @"Landscape"
    NSString *launchImage = nil;
//获取系统的UILaunchImage数组
    NSArray* imagesDict = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];
    for (NSDictionary* dict in imagesDict)
    {
        CGSize imageSize = CGSizeFromString(dict[@"UILaunchImageSize"]);
        
        if (CGSizeEqualToSize(imageSize, viewSize) && [viewOrientation isEqualToString:dict[@"UILaunchImageOrientation"]])
        {
            launchImage = dict[@"UILaunchImageName"];
            
        }
    }
    UIImageView *launchView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:launchImage]];
    launchView.frame = self.window.bounds;
    launchView.contentMode = UIViewContentModeScaleAspectFill;
    [self.window addSubview:launchView];
    [UIView animateWithDuration:2.0f
                          delay:0.0f
                        options:UIViewAnimationOptionBeginFromCurrentState
                     animations:^{
                         
                         launchView.alpha = 0.0f;
                         launchView.layer.transform = CATransform3DScale(CATransform3DIdentity, 1.2, 1.2, 1);
                         
                     }
                     completion:^(BOOL finished) {
                         
                         [launchView removeFromSuperview];
                         
                     }];

不多说上代码
git地址,点击下载

相关文章

  • 手把手教你如何搭建iOS项目基本框架

    手把手教你如何搭建iOS项目基本框架 手把手教你如何搭建iOS项目基本框架

  • 快速搭建一个项目基本框架:前篇(下)

    极致框架大大简化了iOS新项目构建项目基本框架的过程。官方教程现已发布:用极致框架快速搭建一个iOS项目基本框架。...

  • iOS项目基本框架

    前传 下午闲来无事写了一个项目初始的框架,简单的做了自定义tabbar和NavgationBar,写了一个父类利用...

  • 收藏整理(持续更新)

    项目搭建 优雅快速的搭建一个IOS项目,让你的项目结构不再混乱!(纯代码) 手把手教你如何搭建iOS项目基本框架 ...

  • 搭建iOS项目基本框架

    今天我们来谈谈如何搭建框架,框架需要做一些什么。 第一步:找到我们的目标我们的目标是让其他开发人员拿到手后即可写页...

  • 搭建iOS项目基本框架

    纯代码项目 新建工程 File ---> New ---> Project ---> Single V...

  • IOS基本项目框架

    也许大家多多少少也做了很多项目了吧,但是很少有人去关注项目的目录结构,可能大多数人属于半路接手别人的项目,就照着以...

  • 极致框架历代发布版本回顾

    2016.9 萌生自己建立iOS项目基本框架的想法。 2017.8 初个框架版本的目录与文件建立,最早确立框架由项...

  • iOS这张图有多大

    基本认识iOS原生框架介绍iOS原生框架图表

  • iOS 新项目搭建

    iOS 开发 Xcode 8.1创建新项目的配置--详解 iOS 项目框架搭建

网友评论

    本文标题:iOS项目基本框架

    本文链接:https://www.haomeiwen.com/subject/iestyttx.html