欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

iOS - IBAction、IBOutlet以及UIVIew

程序员文章站 2022-04-11 15:21:32
...

IBAction和IBOutlet

IBAction是返回值,相当于void,只有返回值是IBAction的方法,才能和storyboard中的控件进行连线
iOS - IBAction、IBOutlet以及UIVIew
只有声明为IBOutlet的属性,才能跟storyboard中的控件进行连线
iOS - IBAction、IBOutlet以及UIVIew
为了保证控件不被其他地方修改,让其变成私有变量,将它放在.m文件中声明
iOS - IBAction、IBOutlet以及UIVIew
使用weak的原因是已经有强指针指向他


UIView

  • 控件:屏幕上所有的UI元素都叫控件
  • 属性:尺寸,位置,背景色

    共同属性都抽取到UIView中

  • 每一个控件都是一个容器,比较常见的还是用UIVIew作为容器
    • 控制器是不可见的
    • 每一个控制器都有一个UIVIew
    • 能够看到的是View
    • 每一个控制器中都有一个UIVIew的属性
    • 控制器中管理的所有子控件都是该空间的子控件

常见方法

// 添加一个子控件view
- (void)addSubview:(UIVIew *)view;
// 将自己从父控件中移除
- (void)removeFromSuperview;
// 根据一个tag标识找出一个对应的控件(一般都是子控件)
- (UIView *)viewWithTag:(NSInteger)tag;

常见属性

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

// 修改方式1
self.label.frame = CGRectMake(200, 100, 100, 50);
// 修改方式2
// 结构体是值传递,不是地址传递
CGRect frame = self.label.frame;
frame.origin.x -= 100;
frame.size.width += 50;
self.label.frame = frame;
// 控件矩形框的位置和尺寸,以自己左上角为坐标原点,bounds的x、y一般为0
@property(nonatomic) CGRect bounds;
//控件中点的位置
@property(nonatomic) CGPoint    center; 

viewDidLoad

/**
 1. 系统调用
 2. 控制器的View加载完毕的时候调用
 3. 控件的初始化,数据的初始化(懒加载)
 */
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

didReceiveMemoryWarning

/**
 1. 系统调用
 2. 当控制器就收到内存警告调用
 3. 取出一些不必要的内存,取出耗时的内存
 */
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}