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管理。
(void)addSubview:(UIView *)view;
(void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview;
(void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview;
首先看一个基本的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的雏形了
文章浏览阅读502次。爬虫初级二(爬中国古诗文网)第一步先分析要爬取网站的网址为什么要先分析网址呢?通过网址我们可以知道此网页页面是异步请求(post)还是同步请求(get)get请求:最常见的HTTP请求方式,普通上网浏览页面使用的就是get请求方式。get请求方式的参数直接跟在url后,一般以?开始。post请求:post请求的参数没有直接跟在url后边,这个参数需要自己找,找到后用&连接到url后边。这里用到的是get请求就不说怎要找post请求的参数了要爬取的urlurl=“https://www.g_中国文化爬虫作业
文章浏览阅读3.9k次,点赞8次,收藏37次。实验室最近需要制作棋盘格,但是上网找的资料生成的单位都是px,而实际使用是要求单位为cm或者mm。因此要将生成的棋盘格图片插入word,以获取对应实际单位cm的棋盘格。首先使用opencv制作棋盘格,再调用第三方库python-docx生成word并将图片插入。# -*- coding: utf-8 -*-import ioimport osimport sysfrom docx ..._棋盘格怎么生成
文章浏览阅读623次。本章主要介绍了计算机的发展史和发展趋势,并对计算机的应用领域有一综合的描述。随后从硬件系统和软件系统的角度介绍了计算机系统的组成结构,着重介绍了五大功能部件以及操作系统的功能。并从层次结构的角度分析了计算机的层次结构。最后就如何衡量计算机的性能做了初步讨论。_自考计算机组成原理第一章笔记
文章浏览阅读772次。### Error updating database. Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字### The error may involve com.lecar.user.mapper.StationManageMapper.insertStation-Inline### The error occurred whi..._nested exception is java.sql.sqlsyntaxerrorexception: ora-01722: 无效数字
文章浏览阅读1.2k次。我这里设置了~/Devlopment/DockerSoft/clickhouse-server1作为Clickhouse程序在Linux运行下虚拟机中/var/lib/clickhouse的挂载目录,设置这个东西的主要目的是为了文件同步。Docker是一种轻量级的虚拟机,且在官网有镜像,通过安装指定软件的镜像,就可以将该软件的所有依赖一次性安装到虚拟机环境中,省去了我们自己安装虚拟机环境、相关依赖的麻烦。Docker官网:https://www.docker.com/默认用户名:Default。_服务器docker启动clickhouse 如何连接数据库
文章浏览阅读4.6k次。C#Winform自定义DataGridView 附源码-最终版以下代码可实现这样的效果,不解释了: public partial class PersonalAccountForm : Form { private DataGridView dataGridView = new DataGridView(); private VScrol..._c# winfrom datagridview scrollbar
文章浏览阅读6.7k次,点赞3次,收藏29次。点击上面"脑机接口社区"关注我们更多技术干货第一时间送达FieldTrip是MEG, EEG, iEEG和NIRS分析的MATLAB软件工具箱。它提供预处理和先进的分析方..._fieldtrip安装
文章浏览阅读234次。标签canvas标签用来初始出来一块画布,可以用来绘制处理图形getContext(“2d”)用来绘制2d图形var canvas = document.getElementById('tutorial');var ctx = canvas.getContext('2d');常用的api绘制矩形绘制填充一个矩形fillRect(x, y, width, height)绘制一个矩形的边框 strokeRect(x, y, width, height)清除指定矩形区域,_canvas 记录
文章浏览阅读8.1k次。/******************************************************************************************************************/ 解决Hibernate:could not initialize proxy - no Session Hibernate单端关联懒加载策略:即在<one-to..._could not initialize proxy no session through refernce
文章浏览阅读175次。10月26日,T3出行宣布完成A轮融资,此次融资金额为77亿元人民币,本轮融资由中信联合体领投,应通科技、同程旅游、鸿为资本、德载厚资本、一汽、东风汽车、长安汽车、阿里巴巴、腾讯投资跟投。这是自2018年以来网约车行业内最大额度的单笔融资事件。继今年7月滴滴被查下架App之后,网约车行业再次打响补贴战,先是9月份曹操出行融资38亿元,现在又有T3出行融资77亿元。新一轮战事将起之时,为何资本开始流向曹操出行、T3出行这些“第二梯队”选手?后发先至,窗口期中的新变数7月4日,网信中国发布关于下架滴滴出行_滴滴打车好还是t3好
文章浏览阅读8.5k次,点赞13次,收藏63次。基于Ubuntu+Eclipse+ARMGCC+OpenOCD+STlink搭建STM32开发环境准备工作:一台能够上网的配置还不错的电脑,stm32开发板,stlink下载器。第一步 搭建ubuntu环境 (如果你已搭建好,可忽略);第二部 利用OpenOCD+STlink连接你的开发板;第三部 配置你的eclipse环境;第一步 搭建ubuntu环境准备工作:下载ubu..._bingobinlw
文章浏览阅读1.7k次。1.备份原有Jira的db和安装文件,以便回退版本 数据路备份命令: Mysqldump –h(数据库地址) –u(用户名) –p(密码) –P(数据库端口号) (需要备份的数据库名称) > xxx.sql2.下载jira6版本的最高版本,下载地址为https://www.atlassian.com/software/jira/download-archives,文件名为:atl..._back up jira home directory