ios开发 学习积累20161024~20161026
20161024
打算转ios开发工程师的岗位
今天看了下视频,自己吭呲吭呲几下开始写UI
先把Xcode8 的界面总结下
navigator ['nævɪɡetɚ] 导航器、浏览器
symbol navigator 符号导航器
此导航器提供快速定位至项目中局部标识符的方法,例如组成应用程序的类、协议等。
debug~ 调试
breakpoint ~ 断点
report navigator 报告导航器
delegate [ˈdɛləgɪt; (for v.,) ˈdɛləˌgeɪt] 委托storyboard ['stɔrɪbɔrd] 故事版
asset ['æsɛt] 有价值的人或者物;资产
launch screen 启动屏幕
一、Xcode8左侧界面介绍
1、Project navigator
AppDelegate 应用代理文件,是系统运行本应用的委托,里面定义了如程序的进入与退出、设备方向旋转等众多全局方法。
ViewController 视图控制器可以创建和管理视图,并管理视图上显示的数据,也可以监测设备方向的变化,并调整视图大小以适应屏幕。
Main.storyboard 故事板可以使所有的视图控制器,以及它们之间的关系一目了然。故事板也是适配多个分辨率设备的利器。
Assets.cassets 资源文件夹可以方便您进行图片管理,在读取图片时,不需要加上图片名的后缀。同时还可以将图片进行加密压缩保存,以提高软件的安全性。
LaunchScreen.storyboard 启动场景故事板,可以帮助您设计和适配程序的启动页。
info.plist 每个程序都会使用信息属性列表文件,存储项目配置信息。例如:程序的版本号、显示用的图标、支持的设备方向等等。
products 在产品目录中,存放项目编译后生成的文件包。使用【产品>编译】命令,可以在此处生成合适发布到苹果市场的应用的压缩包。
2、symbol navigator
层级面板里显示了项目中的类列表,点击类名左侧的右向箭头,可以查看类下的方法。
3、Find navigator
在搜索导航面板中,允许您通过输入关键字,来查找项目中所有文件,找出拥有该关键字的文档。
4、Issue navigator
状况面板显示了项目中所有文档中的代码问题。黄色表示各种不影响程序运行的小问题,红色表示致命错误,需要修复才能运行。
5、Debug navigator
调试面板-可查看应用运行时占用的cpu大小,内存的使用情况,硬盘的读取与存入的实时状态,还有网络请求状态。
6、Breakpoint navigator
断点调试面板
7、Report navigator
当在代码区进行断点调试时,这里将列出项目中的所有断点。点击按钮查看日志面板,记录当前项目所有的历史动作。
8、添加的组,并不是真正的文件夹,在硬盘上并不存在。
9、source-control status
搜索当前文件和显示版本控制状态下的文件
二、Xcode8右侧界面介绍
1、Assistant editor
点击辅助编辑器按钮,将代码区切换为左右两个区域,方便编写代码时对比代码文件,或者和故事板上的控件做连接。
//
// ViewController.m
// 计算器的实现
//
// Created by Jason on 16/10/24.
// Copyright © 2016年 Jason. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *file1;
@property (weak, nonatomic) IBOutlet UITextField *file2;
@property (weak, nonatomic) IBOutlet UILabel *dosumvalue;
@end
@implementation ViewController
-(IBAction)dosum{
//获取第一个值
int num1 = [self.file1.text intValue];
//获取第二个值
int num2 = [self.file2.text intValue];
//计算结果
int sum = num1 + num2;
//赋值给控件
self.dosumvalue.text = [NSString stringWithFormat:@"%d",sum];
//第一种方法:收起键盘
//[self.file1 resignFirstResponder];
//[self.file2 resignFirstResponder];
//第二种方法:
[self.view endEditing:YES];
}
@end
20161025
resign [rɪ'zaɪn] vt放弃、辞职、委托 n辞去职务
separate [(for v.) sɛpəˌret; (for adj.) sɛprɪt] 分隔开
mutable ['mjutəbl] adj 可变的,易变得
NSMutableArray
//数组可以一次性添加完,以nil作为结尾标志
NSArray *array = [NSArray arrayWithObjects:@"user",@"data", nil];
//如果添加空的话,可以用以下方法
NSArray *array1 = [NSArray arrayWithObjects:@"user",[NSNull null], nil];
//可以建立可变更的数组,并设置一个初始量
NSMutableArray *array2 = [NSMutableArray arrayWithCapacity:];
//可动态添加数组元素
[array2 addObject:@"user"];
[array2 addObject:@"data"];
//合并字符串数组
NSString *str = [array2 componentsJoinedByString:@"|"];
//字符串切割成数组
NSArray *array3 = [str componentsSeparatedByString:@"|"];
//可变数组元素删除,数组从零开始
[array2 removeObjectAtIndex:]; NSMutableArray *arr = [[NSMutableArray alloc] init];
[arr addObject:[NSNumber numberWithInt:]];
NSLog(@"%@ \n %@ \n %@ \n %@ \n %@ \n %@",array,array1,array2,array3,str,arr);
输出结果
(
user,
data
)
(
user,
"<null>"
)
(
user
)
(
user,
data
)
user|data
( )
alloc 是在内存中申请一块区域,用来存储此对象的信息,然后用init方法(oc自带方法【c语言中叫函数】)来初始化一些默认的数据,从而完成一个对象的创建。
参考:
关于OC中的alloc init方法
http://blog.sina.com.cn/s/blog_539af7300102w7hk.html
objective c中的数组和简单操作(四):
http://blog.csdn.net/holydancer/article/details/7346221
OC中NSLog函数输出格式详解:
http://www.cnblogs.com/langtianya/p/3936230.html
capacity [kə'pæsəti] 容量
arrayWithCapacity 定义数组容量的方法
implicit [ɪm'plɪsɪt] 隐式的
implicit conversion 隐式转换
20161026
坑爹的情绪,轻浮的人生,突然有种三天打鱼两天晒网的感觉。不知自己在干些什么。
空闲时间去研究张学良了,历史真的很吸引人。这里不评价历史,张学良主导的西安事变拯救了中国,也间接平定了外患。
晚上睡不着,起来整理
component [kəm'ponənt] n.成分、组件、原件 adj 组成的、构成的
placeholder ['pleis,həuldə] n.占位符
external [ɪk'stɝnl] 外部的
provide a placeholder for a view controller in an external storyboard。
freeform ['fri:,fɔ:m] 任意的,自由形态的
infer [ɪn'fɝ] vt推倒,推理
superview 父控件
sub adj 从属的
下面来接触UIView 和 button 控件的使用
Xcode8 折叠代码快捷键
cmd + option + left
取消折叠
cmd + option + right
参考
Xcode的快捷键及代码格式化:
http://bbs.itheima.com/thread-111004-1-1.html
//
// ViewController.m
// 随机生成不同颜色的不同位置并移动的动画方块
//
// Created by Jason on 16/10/26.
// Copyright © 2016年 Jason. All rights reserved.
// #import "ViewController.h" @interface ViewController ()
@property (weak, nonatomic) IBOutlet UIView *whiteView; @end @implementation ViewController
//修改父控件的颜色
//sender就是我们点击的那个按钮
- (IBAction)changeFatherViewColor:(UIButton *)sender {
//获取父控件
UIView *fatherView = sender.superview;
//修改父控件的颜色
fatherView.backgroundColor = [UIColor redColor];
}
- (IBAction)changeFatherViewColorRandom:(UIButton *)sender {
//获取父控件
UIView *fatherView = sender.superview;
//点击获取随机颜色
//alpha 透明度 0 完全透明 1 表示完全不透明
float randomR = arc4random_uniform() / 255.0;
float randomG = arc4random_uniform() / 255.0;
float randomB = arc4random_uniform() / 255.0;
UIColor *randomColor = [UIColor colorWithRed:randomR green:randomG blue:randomB alpha:];
//修改父类的颜色
fatherView.backgroundColor = randomColor;
}
- (IBAction)creatView:(UIButton *)sender {
UIView *creatView = [[UIView alloc] init];
[self.whiteView addSubview:creatView];
creatView.frame = CGRectMake(, , , );
creatView.backgroundColor = [UIColor redColor];
} - (IBAction)creatViewMove:(UIButton *)sender {
//创建随机的View
UIView *createViewMove = [[UIView alloc] init];
[self.whiteView addSubview:createViewMove];
//随机颜色和定义大小
float randomR = arc4random_uniform() / 255.0;
float randomG = arc4random_uniform() / 255.0;
float randomB = arc4random_uniform() / 255.0;
UIColor *randomColor = [UIColor colorWithRed:randomR green:randomG blue:randomB alpha:];
createViewMove.backgroundColor = randomColor;
NSInteger ranX = arc4random_uniform();
NSInteger ranY = arc4random_uniform();
CGRect ranLocation = CGRectMake(ranX, ranY, , );
createViewMove.frame = ranLocation; [self randomMoveWithView:createViewMove]; }
-(void)randomMoveWithView:(UIView *)view{
//1.计算坐标 随机
int ranX=arc4random_uniform();
int ranY=arc4random_uniform();
//2.修改控件的frame中的origin
CGRect oldFrame=view.frame;
oldFrame.origin=CGPointMake(ranX, ranY);
//3.动画移动
//3.1动画时间也随机 [UIView animateWithDuration:0.5 animations:^{
view.frame=oldFrame;
} completion:^(BOOL finished) {
[self randomMoveWithView:view];
}];
}
- (IBAction)remoceView:(id)sender {
//清除UIView
for(UIView *view in self.whiteView.subviews ){
if([view isKindOfClass:[UIButton class]]){
continue;
}
[view removeFromSuperview];
}
}
@end
ios开发 学习积累20161024~20161026的更多相关文章
- ios开发 学习积累20161027~20161031
前言 学习ios这几天来,总结下,函数的定义,调用.跟其他语言都有一定的区别: 几个特别重要的就是对象的迭代的使用和判断.取随机数.动画的实现及数组的深入研究等等 之前的总结地址 ios开发 学习积累 ...
- ios开发 学习积累20161101
20161101 XML的声明 <?XML version="1.0" encoding="UTF-8" ?> XML文档必须有根元素 XML 对大 ...
- iOS开发学习概述及知识整理
设计师设计出来了一个不错的引导界面,然而当我看到设计稿的时候,我们的app也没几天就要上线了.这个界面模仿了Evernote iOS app的风格. 我以迅雷不及掩耳盗铃之势开始在Xcode上编程,用 ...
- iOS开发学习笔记:基础篇
iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境 ...
- ios开发之OC基础-ios开发学习路线图
本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...
- iOS开发学习路线图
很多初学iOS开发的人会经常问:“我想学iOS应该从何入手呢?”.作为一个做了2年多各种iOS开发的程序员,只想写写自己的一些心得体会,好和体验与不好的体验.写的不好,请多包涵.希望能起到抛砖引玉的作 ...
- iOS开发学习路径的一些建议
结合自己情况聊下iOS学习建议,这里不讲大道理,说说具体怎么做.欢迎大家拍砖. 1.第一点要求 ,能比较顺畅的阅读官方的文档 如果你连官方的文档读起来都非常困难,那你还谈什么提高和进阶,咱们学习iOS ...
- iOS开发学习 阶段过程简述
下面就简单介绍一下我iOS开发的感受,也是学习iOS开发的一个体系架构. 1 iOS开发环境 1.1 开发环境 标准的配置是Mac OS X + Xcode. MacOSX的话首选用苹果电脑,macm ...
- IOS开发学习 碎片S
非常感谢提供一下内容的人和组织! 字符串编码:http://www.cnblogs.com/KevinYang/archive/2010/06/18/1760597.html Foundation框架 ...
随机推荐
- 激活IDEA,pycharm方法
1.修改hosts文件将0.0.0.0 account.jetbrains.com添加到hosts文件最后,注意hosts文件无后缀,如果遇到无法修改或权限问题,可以采用覆盖的方法去替换hosts文件 ...
- 十二生肖查询网页版制作(php)
今天无聊做了一个十二生肖查询器: 预览网址效果:http://hongxing01.hktd02u.me48.com/03Sxcx 源代码下载:http://down.51cto.com/data/1 ...
- ASP.net/C#中如何调用动态链接库DLL
动态链接库(也称为DLL,即为“Dynamic Link Library”的缩写)是Microsoft Windows最重要的组成要素之一,打开Windows系统文件夹,你会发现文件夹中有很多DLL文 ...
- 小白学Linux
Linux的文件关系: / 根最大的文件夹,存储此台计算机的所有数据 /etc 存放计算机的配置文件 /var/log 存放电脑的日志文件 /home 家的位置 路径:相对路径.绝对路径(从根下开始 ...
- 洛谷P1742 最小圆覆盖(计算几何)
题面 传送门 题解 之前只是在抄题解--这篇才算是真正自己想的吧-- 首先我们把输入序列给\(random\)一下防止出题人好心送你一个毒瘤序列 我们设\(r\)为当前最大半径,\(o\)为此时对应圆 ...
- 2018 ACM-ICPC 亚洲区域赛北京现场赛 I题 Palindromes
做法:打表找规律 大数是过不了这个题的(但可以用来打表) 先找k的前缀,前缀对应边缘数字是哪个 如果第0位是2-9 对应奇数长度的1-8 第0位为1时,第1位为0时对应奇数长度的9,为1-9时对应偶数 ...
- mxonline实战-1,创建应用及相应模型
前言 环境说明:python3.5 + django2.0, 用的pycharm4.04专业版 课程视频地址 https://coding.imooc.com/learn/list/78. ...
- java_I/O字符流
I/O流(Stream) INPUT:输入流,从文件里读OUPUT:输出流,写内容到文件 IO流分为:字符流和字节流 字符流:处理纯文本文件. 字节流:处理可以所有文件. 字符输出流测试: @Test ...
- 计算机网络课设之TCP通讯录
这篇文章我主要是想对这学期末计算机网络课程设计所做的一个小项目也就是基于tcp协议的通讯录做一个总结梳理.项目的具体的代码实现是基于C语言,当然在此之前网上也有一些基于c++编写的tcp通讯录,原理都 ...
- docker微服务部署之:三,搭建Zuul微服务项目
docker微服务部署之:二.搭建文章微服务项目 一.新增demo_eureka模块,并编写代码 右键demo_parent->new->Module->Maven,选择Module ...