iOS(OC)学习第2天-绑定UI和点击事件

之前我们学会了设置UI,但是UI组件没有绑定点击事件,不能交互

第一步-设置静态操作页面

页面上共6个UI组件:三个UILabel ,两个 UITextField ,一个UIButton

第二步-定义变量和方法

objectivec 复制代码
//ViewController.h
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

//IBAction
//保证方法可以进行连线
//相当于void
-(IBAction)sum;

//IBOutlet
//保证属性可以进行连线
@property(nonatomic,weak) IBOutlet UITextField *text1;
@property(nonatomic,weak) IBOutlet UITextField *text2;
@property(nonatomic,weak) IBOutlet UILabel *result;

@end
  1. 返回类型是IBAction的方法有一个圆圈,反之没有
  2. 定义参数是IBOutlet的变量有一个圆圈,反之没有

第三步-建立链接

鼠标靠近圆圈时,有一个+号展示,然后点击拖动到指定UI组件,这样方法或者变量就跟对应的组件建立的链接

建立链接


建立链接后,变成了实心圆圈

点击实心圆,可以看到关联的组件

删除链接

第四步-实现点击逻辑

objectivec 复制代码
//ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
}
- (void)sum1{
    
}

- (void)sum {
    NSLog(@"ViewController sum");
    NSLog(@"ViewController _text1 = %@",self.text1);
    NSLog(@"ViewController _text2 = %@",self.text2);
    NSLog(@"ViewController _result = %@",self.result);
    //获取数字
    NSString *addStr1 = self.text1.text;
    NSString *addStr2 = self.text2.text;
    
    //转换成int
    int num1 = [addStr1 intValue];
    int num2 = [addStr2 intValue];
    
    NSLog(@"ViewController addStr1 = %@  num1=%d",addStr1,num1);
    NSLog(@"ViewController addStr2 = %@  num2=%d",addStr2,num2);
    
    //相加
    int sum = num1+num2;
    
    //设置结果
    self.result.text = [NSString stringWithFormat:@"%d", sum];
}


@end

结果

相关推荐
一只小小汤圆10 分钟前
opencascade源码学习之BRepOffsetAPI包 -BRepOffsetAPI_DraftAngle
c++·学习·opencascade
虾球xz18 分钟前
游戏引擎学习第20天
前端·学习·游戏引擎
LateBloomer77727 分钟前
FreeRTOS——信号量
笔记·stm32·学习·freertos
legend_jz31 分钟前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法
Komorebi.py32 分钟前
【Linux】-学习笔记04
linux·笔记·学习
weiabc1 小时前
学习electron
javascript·学习·electron
HackKong2 小时前
小白怎样入门网络安全?
网络·学习·安全·web安全·网络安全·黑客
Jinkey2 小时前
FlutterBasic - GetBuilder、Obx、GetX<Controller>、GetxController 有啥区别
android·flutter·ios
Bald Baby2 小时前
JWT的使用
java·笔记·学习·servlet
心怀梦想的咸鱼3 小时前
UE5 第一人称射击项目学习(四)
学习·ue5