• 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:50];
        //可动态添加数组元素
        [array2 addObject:@"user"];
        [array2 addObject:@"data"];
        //合并字符串数组
        NSString *str = [array2 componentsJoinedByString:@"|"];
        //字符串切割成数组
        NSArray *array3 = [str componentsSeparatedByString:@"|"];
        //可变数组元素删除,数组从零开始
        [array2 removeObjectAtIndex:1];
        
        NSMutableArray *arr = [[NSMutableArray alloc] init];
        [arr addObject:[NSNumber numberWithInt:88]];
        NSLog(@"%@ 
     %@ 
     %@ 
     %@ 
     %@ 
     %@",array,array1,array2,array3,str,arr);

    输出结果

     1 (
     2     user,
     3     data
     4 ) 
     5  (
     6     user,
     7     "<null>"
     8 ) 
     9  (
    10     user
    11 ) 
    12  (
    13     user,
    14     data
    15 ) 
    16  user|data 
    17  (
    18     88
    19 )
    View Code

    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

     1 //
     2 //  ViewController.m
     3 //  随机生成不同颜色的不同位置并移动的动画方块
     4 //
     5 //  Created by Jason on 16/10/26.
     6 //  Copyright © 2016年 Jason. All rights reserved.
     7 //
     8 
     9 #import "ViewController.h"
    10 
    11 @interface ViewController ()
    12 @property (weak, nonatomic) IBOutlet UIView *whiteView;
    13 
    14 @end
    15 
    16 @implementation ViewController
    17 //修改父控件的颜色
    18 //sender就是我们点击的那个按钮
    19 - (IBAction)changeFatherViewColor:(UIButton *)sender {
    20     //获取父控件
    21     UIView *fatherView = sender.superview;
    22     //修改父控件的颜色
    23     fatherView.backgroundColor = [UIColor redColor];
    24 }
    25 - (IBAction)changeFatherViewColorRandom:(UIButton *)sender {
    26     //获取父控件
    27     UIView  *fatherView = sender.superview;
    28     //点击获取随机颜色
    29     //alpha 透明度 0 完全透明 1 表示完全不透明
    30     float randomR = arc4random_uniform(255) / 255.0;
    31     float randomG = arc4random_uniform(255) / 255.0;
    32     float randomB = arc4random_uniform(255) / 255.0;
    33     UIColor *randomColor = [UIColor colorWithRed:randomR green:randomG blue:randomB alpha:1];
    34     //修改父类的颜色
    35     fatherView.backgroundColor = randomColor;
    36 }
    37 - (IBAction)creatView:(UIButton *)sender {
    38     UIView *creatView = [[UIView alloc] init];
    39     [self.whiteView addSubview:creatView];
    40     creatView.frame = CGRectMake(100, 100, 100, 100);
    41     creatView.backgroundColor = [UIColor redColor];
    42 }
    43 
    44 - (IBAction)creatViewMove:(UIButton *)sender {
    45     //创建随机的View
    46     UIView *createViewMove = [[UIView alloc] init];
    47     [self.whiteView addSubview:createViewMove];
    48     //随机颜色和定义大小
    49     float randomR = arc4random_uniform(255) / 255.0;
    50     float randomG = arc4random_uniform(255) / 255.0;
    51     float randomB = arc4random_uniform(255) / 255.0;
    52     UIColor *randomColor = [UIColor colorWithRed:randomR green:randomG blue:randomB alpha:1];
    53     createViewMove.backgroundColor = randomColor;
    54     NSInteger ranX = arc4random_uniform(200);
    55     NSInteger ranY = arc4random_uniform(200);
    56     CGRect ranLocation = CGRectMake(ranX, ranY, 100, 100);
    57     createViewMove.frame = ranLocation;
    58     
    59     [self randomMoveWithView:createViewMove];
    60     
    61     
    62 }
    63 -(void)randomMoveWithView:(UIView *)view{
    64     //1.计算坐标 随机
    65     int ranX=arc4random_uniform(200);
    66     int ranY=arc4random_uniform(200);
    67     //2.修改控件的frame中的origin
    68     CGRect oldFrame=view.frame;
    69     oldFrame.origin=CGPointMake(ranX, ranY);
    70     //3.动画移动
    71     //3.1动画时间也随机
    72     
    73     [UIView animateWithDuration:0.5 animations:^{
    74         view.frame=oldFrame;
    75     } completion:^(BOOL finished) {
    76         [self randomMoveWithView:view];
    77     }];
    78 }

    - (IBAction)remoceView:(id)sender {

    //清除UIView

        for(UIView *view in self.whiteView.subviews ){

    
    

            if([view isKindOfClass:[UIButton class]]){

    
    

                continue;

    
    

            }

            [view removeFromSuperview];

        }

    }

    79 @end

     

      

  • 相关阅读:
    BZOJ1999或洛谷1099&BZOJ2282或洛谷2491 树网的核&[SDOI2011]消防
    BZOJ1912或洛谷3629 [APIO2010]巡逻
    CH6202 黑暗城堡
    POJ2728 Desert King
    JoyOI1391 走廊泼水节
    洛谷1073 最优贸易
    POJ3662或洛谷1948 Telephone Lines
    BZOJ1106 [POI2007]立方体大作战tet
    ubuntu 16.04 安装genymotion
    ubuntu下搭建android开发环境核心篇安装AndroidStudio、sdk、jdk
  • 原文地址:https://www.cnblogs.com/jasonxu19900827/p/5994919.html
Copyright © 2020-2023  润新知