从零学IOS开发(一)
目录
- 一,开发环境
- 二,新建项目
- 三,项目文件结构
- 四,基本组件
- 五,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界面有哪些内容:
- 顶部的导航栏,有返回按钮,编辑按钮和中间的标题
- 中间主要内容展示区,显示一张图片和图片列表
- 底部的菜单栏,有三个按钮
现在用前面介绍的组件来实现这些内容
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开发(一)相关推荐
- 零基础学ios开发培训要培训多久
零基础学ios开发培训要培训多久 想参加ios开发培训,不知道ios开发培训需要多长时间能学会呢?零基础学ios培训要培训多久?学完IOS技术课程后是否可以快速找到高薪工作,一系列的问题都是菜 ...
- 从零开始学 iOS 开发的15条建议
事情困难是事实,再困难的事还是要每天努力去做是更大的事实. 因为我是一路自学过来的,并且公认没什么天赋的前提下,进步得不算太慢,所以有很多打算从零开始的朋友会问我,该怎么学iOS开发.跟粉丝群的朋友交 ...
- 一台新电脑从零搭建iOS开发环境
拿到一台新电脑从零搭建iOS开发环境,对于我们这些开发老鸟来说,可能并不陌生. 但实操时,要安装哪些东西可能到用到时才能想到.一些软件的下载命令.网址还要一个个搜索.这篇文章就是解决这个问题.从零搭建 ...
- 个人总结学 iOS 开发的15条经验
事情困难是事实,再困难的事还是要每天努力去做是更大的事实. 因为我是一路自学过来的,并且公认没什么天赋的前提下,进步得不算太慢,所以有很多打算从零开始的朋友也会纠结怎么学iOS开发. 第一部分:态度和 ...
- 从零开始学ios开发(三):第一个有交互的app
感谢大家的关注,也给我一份动力,让我继续前进.有了自己的家庭有了孩子,过着上有老下有小的生活,能够挤出点时间学习真的很难,每天弄好孩子睡觉已经是晚上10点左右了,然后再弄自己的事情,一转眼很快就到12 ...
- 学iOS开发如何选择iOS培训机构之浅析
随着iOS开发的火爆,企业对于iOS开发人才的需求不断增加,很多想通过培训而进入高薪阶层的童鞋越来越多,关于这方面的培训机构也就与日俱增.想学的同学看得眼花缭乱,不知道哪家才是最好.最适合自己的··· ...
- 移动互联网时代,学iOS开发好吗
互联网是21世纪的主导产业,在网络行业发展史明确的选择.iOS的上市也开辟了智能手机的新市场,一时间好评如潮,一大批年轻人开始潜心研究它.随着"互联网"的来临,iOS系统正在成为全 ...
- 移动开发---跟我学ios开发入门1
今天开始学习flash的移动开发,就学习ios开发吧. 一.环境配置: 首先下载Flash Builder 4.6 版本,这个在adobe官方有得下,大家自己去下载. 下载好以后,点击文件->新 ...
- 从零开始学iOS开发的15条建议
事情困难是事实,再困难的事还是要每天努力去做是更大的事实. 分三部分: 第一部分:态度和电脑 1、不要关注别人的学习经历,不要关注别人加薪经历. 因为人各不同,别人的经历极有可能并不适合你.而因为每一 ...
- 从零开始学ios开发(十三):Table Views(下)Grouped and Indexed Sections
在前面2篇关于Table View的介绍中,我们使用的Style都是Plain,没有分组,没有index,这次学习的Table View和iphone中的通讯录很像,有一个个以字符为分割的组,最右边有 ...
最新文章
- python持久化存储文件操作
- Flink SQL Client注册Python UDF完整流程
- WGho_Setup 雨林木风 一键备份
- weka 初练之 文本分类
- 亚信安全协助绿谷制药确保“秘方”安全
- 【C语言】赋值运算中的类型转换
- 多个pdf合并成一个pdf_多个PDF怎么合并?这些PDF合并方法很简单!
- 基于python的注册登录界面_基于python的Tkinter编写登陆注册界面
- 第十四章:【UCHome二次开发】uchome通用方法
- 高版本linux安装gamit,Ubuntu 14.04下安装GAMIT/GLOBK10.50软件
- 基于 Laravel 9 和 Bulma 开发的个人博客
- oeasy教您玩转vim - 52 - # 正则查找
- 使用java做出围棋或者五子棋
- 获取ftp服务器文件,ftp获取服务器文件
- JS数组常用的方法shift,unshift,splice,split,slice
- sincerit 小乐乐切割方块(规律+思考)
- 全球首位 AI 律师出庭,花 100 万美元找“传话筒”!网友:头脑正常的人谁会同意?...
- 紫光联合大基金等成立长江存储 注资189亿元
- linux的swap与memory,【Linux】Linux中Swap与Memory内存简单介绍
- 解决nvcc --version显示command not found问题