目录

  • 一,开发环境
  • 二,新建项目
  • 三,项目文件结构
  • 四,基本组件
  • 五,APP基本雏形

一,开发环境

​ IOS开发环境很简单,只需一台MAC和一个IDE(Xcode),Xcode是apple官方的开发环境,有了电脑和IDE后就不需要配置任何东西了。Mac挺费米的,不过好在Xcode是免费下载的。

二,新建项目

​ 新建项目时候需要选择app运行的平台,因为Xcode不仅可以开发IOS应用也能开发mac,watch,ipad等上的软件。

这里选择IOS中的app就行。

然后就是项目名称和使用的语言,apple的app可以使用objective-c和swift开发,但国内基本使用objective-c,所以这里也从objective-c开始学起。

三,项目文件结构

项目结构这里取决于使用的ios版本,创建成功后点击项目,打开的就是项目的配置,从中可以找到运行的ios版本,下图是ios14.5版本。
appdelegate:用来管理整个app的生命周期
scenedelegate:用来管理视图也就是界面的生命周期
viewcontroller:app的主要组件,app的功能逻辑代码主要写这里
其他的都是一些app的配置文件和图片等资源文件夹

如果是ios13之前的版本就不会有scenedelegate,因为ios13之前的视图生命周期和app生命周期都由appdelegate管理。

四,基本组件

  • UIWindow:进入scenedelegate.h可以看到一个这个对象,这是app最上层的视图组件
  • UIView: 最基本的视图类,app中所有看见的都是uiview,是可以嵌套的,源码中有这几个方法,可以给一个UIView添加子UIview
(void)addSubview:(UIView *)view;
(void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;
(void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;
  • UIViewController:进入viewcontroller.h可以看到viewcontroller是继承了UIViewController,这是最常用的组件之一,是视图控制器,管理UIView的层级结构
  • UITabBarController: app底部的菜单栏就是这个实现的,其有两个属性,ViewController和TabBar
  • UINavigationController:类似于UITabBarController,这是IOS软件经常看到的返回按钮,其也有两个属性ViewController和NavigationBar

五,APP基本雏形

首先看一个基本的app界面有哪些内容:

  1. 顶部的导航栏,有返回按钮,编辑按钮和中间的标题
  2. 中间主要内容展示区,显示一张图片和图片列表
  3. 底部的菜单栏,有三个按钮

现在用前面介绍的组件来实现这些内容

SceneDelegate.m connectionOptions方法中UITabBarController *tabbar = [[UITabBarController alloc]init];ViewController *myview = [[ViewController alloc]init];UINavigationController *nagavition = [[UINavigationController alloc]initWithRootViewController:myview];nagavition.tabBarItem.title = @"导航";UIViewController *view1 = [[UIViewController alloc]init];view1.view.backgroundColor = [UIColor redColor];view1.tabBarItem.title = @"文章";UIViewController *view2 = [[UIViewController alloc]init];view2.view.backgroundColor = [UIColor yellowColor];view2.tabBarItem.title = @"新闻";UIViewController *view3 = [[UIViewController alloc]init];view3.view.backgroundColor = [UIColor greenColor];view3.tabBarItem.title = @"视频";UIViewController *view4 = [[UIViewController alloc]init];view4.view.backgroundColor = [UIColor blueColor];view4.tabBarItem.title = @"我的";[tabbar setViewControllers:@[nagavition,view1,view2,view3,view4] ];self.window.rootViewController = tabbar;
ViewController.m 中- (void)viewDidLoad {[super viewDidLoad];UIView *view2 = [[UIView alloc] init];view2.backgroundColor = [UIColor blueColor];view2.frame = CGRectMake(150, 150, 100, 100);[self.view addSubview:view2];UITapGestureRecognizer *gesture=[[UITapGestureRecognizer alloc] initWithTarget:self action: @selector(pushCtl)];[view2 addGestureRecognizer:gesture];}- (void)pushCtl{UIViewController *con = [[UIViewController alloc]init];con.view.backgroundColor = [UIColor whiteColor];con.navigationItem.title = @"图片展示";con.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Edit" menu:nil];TestView *view = [[TestView alloc] init];view.backgroundColor = [UIColor redColor];view.frame = CGRectMake(100, 100, 100, 100);[con.view addSubview:view];[self.navigationController pushViewController:con animated:YES];}

主界面:

点击蓝色方块后

点击底部文章按钮

到这里已经具备一个app的雏形了

从零学IOS开发(一)相关推荐

  1. 零基础学ios开发培训要培训多久

    零基础学ios开发培训要培训多久     想参加ios开发培训,不知道ios开发培训需要多长时间能学会呢?零基础学ios培训要培训多久?学完IOS技术课程后是否可以快速找到高薪工作,一系列的问题都是菜 ...

  2. 从零开始学 iOS 开发的15条建议

    事情困难是事实,再困难的事还是要每天努力去做是更大的事实. 因为我是一路自学过来的,并且公认没什么天赋的前提下,进步得不算太慢,所以有很多打算从零开始的朋友会问我,该怎么学iOS开发.跟粉丝群的朋友交 ...

  3. 一台新电脑从零搭建iOS开发环境

    拿到一台新电脑从零搭建iOS开发环境,对于我们这些开发老鸟来说,可能并不陌生. 但实操时,要安装哪些东西可能到用到时才能想到.一些软件的下载命令.网址还要一个个搜索.这篇文章就是解决这个问题.从零搭建 ...

  4. 个人总结学 iOS 开发的15条经验

    事情困难是事实,再困难的事还是要每天努力去做是更大的事实. 因为我是一路自学过来的,并且公认没什么天赋的前提下,进步得不算太慢,所以有很多打算从零开始的朋友也会纠结怎么学iOS开发. 第一部分:态度和 ...

  5. 从零开始学ios开发(三):第一个有交互的app

    感谢大家的关注,也给我一份动力,让我继续前进.有了自己的家庭有了孩子,过着上有老下有小的生活,能够挤出点时间学习真的很难,每天弄好孩子睡觉已经是晚上10点左右了,然后再弄自己的事情,一转眼很快就到12 ...

  6. 学iOS开发如何选择iOS培训机构之浅析

    随着iOS开发的火爆,企业对于iOS开发人才的需求不断增加,很多想通过培训而进入高薪阶层的童鞋越来越多,关于这方面的培训机构也就与日俱增.想学的同学看得眼花缭乱,不知道哪家才是最好.最适合自己的··· ...

  7. 移动互联网时代,学iOS开发好吗

    互联网是21世纪的主导产业,在网络行业发展史明确的选择.iOS的上市也开辟了智能手机的新市场,一时间好评如潮,一大批年轻人开始潜心研究它.随着"互联网"的来临,iOS系统正在成为全 ...

  8. 移动开发---跟我学ios开发入门1

    今天开始学习flash的移动开发,就学习ios开发吧. 一.环境配置: 首先下载Flash Builder 4.6 版本,这个在adobe官方有得下,大家自己去下载. 下载好以后,点击文件->新 ...

  9. 从零开始学iOS开发的15条建议

    事情困难是事实,再困难的事还是要每天努力去做是更大的事实. 分三部分: 第一部分:态度和电脑 1、不要关注别人的学习经历,不要关注别人加薪经历. 因为人各不同,别人的经历极有可能并不适合你.而因为每一 ...

  10. 从零开始学ios开发(十三):Table Views(下)Grouped and Indexed Sections

    在前面2篇关于Table View的介绍中,我们使用的Style都是Plain,没有分组,没有index,这次学习的Table View和iphone中的通讯录很像,有一个个以字符为分割的组,最右边有 ...

最新文章

  1. python持久化存储文件操作
  2. Flink SQL Client注册Python UDF完整流程
  3. WGho_Setup 雨林木风 一键备份
  4. weka 初练之 文本分类
  5. 亚信安全协助绿谷制药确保“秘方”安全
  6. 【C语言】赋值运算中的类型转换
  7. 多个pdf合并成一个pdf_多个PDF怎么合并?这些PDF合并方法很简单!
  8. 基于python的注册登录界面_基于python的Tkinter编写登陆注册界面
  9. 第十四章:【UCHome二次开发】uchome通用方法
  10. 高版本linux安装gamit,Ubuntu 14.04下安装GAMIT/GLOBK10.50软件
  11. 基于 Laravel 9 和 Bulma 开发的个人博客
  12. oeasy教您玩转vim - 52 - # 正则查找
  13. 使用java做出围棋或者五子棋
  14. 获取ftp服务器文件,ftp获取服务器文件
  15. JS数组常用的方法shift,unshift,splice,split,slice
  16. sincerit 小乐乐切割方块(规律+思考)
  17. 全球首位 AI 律师出庭,花 100 万美元找“传话筒”!网友:头脑正常的人谁会同意?...
  18. 紫光联合大基金等成立长江存储 注资189亿元
  19. linux的swap与memory,【Linux】Linux中Swap与Memory内存简单介绍
  20. 解决nvcc --version显示command not found问题

热门文章

  1. VLAN隔离技术 — MUX VLAN
  2. python spss写论文_自从用 spss 写了论文。。。。
  3. range-coder使用
  4. dreamweaver8 html5,dreamweaver8
  5. 美图秀秀 web开发图片编辑器
  6. 统计学理论—一元线性回归
  7. 2017年网易校招Java面试题
  8. Linux——Ubuntu使用个给力的镜像,安装软件速度飞快
  9. 推荐一个阅读代码、文档的利器:屏幕贴图工具
  10. oc引导windows蓝屏_最全的Windows 系统蓝屏死机代码的含义及解决方案