IOS开发-基础篇-One

这篇博客主要介绍了iOS开发的基础知识,包括UI控件如UIButton、UIImageView、UILabel、UIView,屏幕适配技术,Quartz2D和Core Animation,事件处理、手势和UIDynamic。此外,还详细讲解了开发流程、UIView的属性和方法,以及如何通过代码和Storyboard实现简单的功能,如切换文字颜色和响应按钮事件。
摘要由CSDN通过智能技术生成

UI基础-第一天

人生就像卫生纸,没事的时候尽量少扯;时间就像卫生纸,看着挺多,用着挺少…

学前需知

学习内容

  • UI
    基础控件:UIButton、UIImageView、UILabel、UIView等
    高级控件:UITableView、UICollectionView
    屏幕适配:Autoresizing、Autolayout、Sizeclass、Massonry
    多控制器管理:UINavigationController、UITabBarContraller、滴定仪控制器管理

Quart2D、核心动画、事件处理、手势、UIDynamic

目标和发展规划

  • 薪资待遇
    – 1年以内大于10k
    – 可以挑战20k
    – 必须学业有成
  • 技术目标
    –强化变成思想(封装抽取、思考视角、框架设计)
    –提高解决问题的能力、自学能力
  • 未来发展

– 海阔凭鱼跃,天高任鸟飞

学习期间的要求

1.别玩手机,以防错过精彩、关键瞬间
2.注意休息,尤其是晚上
3.不要边听课程边敲代码
4.尽量不要看视频,尽量只参考课堂代码、笔记
5.整理一份属于自己的笔记
》新手:完全对着课堂代码(跟抄书一样)或者边看视频边敲
》熟手:浏览一边课堂代码,边回想边敲遇到不会的去看课堂代码
》高手:不用看课堂代码,回想上课的编程思路,直接开搞
(等级不断提高)

作息

尽量早点睡,第二天上课才有精神,最晚不要超过2点
珍爱时间,远离游戏

IOS开发须知

开发流程!

开发流程

UI界面的组成-对象

  • 总结
    • UI界面上的每一个元素都是对象
    • 万物皆对象

框架

使用框架的目的就是让开发更简单

开发水平

开发水平

第一个IOS程序

切换文字颜色

要求

IBAction和IBOutlet

  • IBAction
    • 从返回值角度上看,作用相当于void
    • 只有返回值生命为IBAction的方法,才能跟storyboard中的空间进行连线
  • IBOutlet
    • 只有声明为IBOutlet的属性,才能跟storyboard中的控件进行连线

设置程序启动时加载的storyboard

这个设置表明:程序启动时会加载Main.storyboard

经典错误

  • 如果遇到这种错误,90%的可能都是因为连线有问题,比如一些线以及“过期”
  • ‘NSUnknownKeyException’, reason: ‘[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key

需要了解的知识点

  • storyboard文件的认识
  • UIViewController的认识
  • IBOutlet、IBAction的作用
  • 类扩展的作用
  • 修改UI元素的属性(textColor、backgroundColor)
  • 新建项目的常见属性
  • 模拟器的各种功能

UIView

UIView简介

UIView
  • 什么是控件?
  • 屏幕上的所有UI元素叫做控件,也有人叫做视图、组件
  • 按钮(UIButton)、文件(UILabel)都是控件
  • 控件的共同属性有哪些?
  • 尺寸
  • 位置
  • 背景色
  • 。。。。。
  • 苹果将控件的共同属性都抽取到父类UIView中
  • 所有的控件最终都继承自UIView
  • UIButton、UILabel都是继承自UIView(可以查看头文件)

父子控件

父控件、子控件
  • 每一个控件其实都是一个容器- 可以将其他控件放到该空间的内部
  • 比较常见的还是将UIView作为容器
  • 可以将A控件放入B控件
  • A控件是B控件的子控件
  • B控件是A控件的父控件
  • 每一个控制器都有一个UIView
  • 控制器本身是不可见
  • 能够看到的是控制器的View
  • 每一个控制器中都有一个UIView的属性
  • 控制器中管理的所有子控件都是该控件的子控件
UIView的常见属性
  • @property (nonatomic,readonly)UIView *superview;
  • 获得自己的父控件对象
  • @property (nonatomic,readonly,copy)NSArray *subviews;
  • 获得自己的所有子控件对象
  • @property (nonatomic)NSInteger tag;
  • 控件的ID[标识],父控件可以通过tag来找到对应的子控件
  • @property (nonatomic) CGffineTransfom transform;
  • 控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)
UIView的常见方法

. - (void)addSubview:(UIView *)view;
- 添加一个子控件

. - (void)removeFromSuperview;
- 将自己从父控件移除

. - (UIView *)viewWithTag:(NSInteger)tag;
- 根据一个tag标识找出对应的控件(一般都是子控件)

位置尺寸

UIView的常见属性

. @property (nonatomic) CGRect frame;
- 控件矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)

. @property (nonatomic) CGRect bounds;
- 控件矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般都为0)

. @property (nonatomic) CGPoint center;
- 空间中心点的位置(以父控件的左上角为坐标原点)

UIKit坐标系
  • 在UIKit中,坐标系的原点(0,0)在左上角,x值向右正向延伸,y值向下正向延伸
  • 坐标系

代码练习部分

显示hello world

方法一:
显示hello world-第一种方法
方法二:
显示hello world-第二种方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值