首页 > 其他 > 详细

ReactiveCocoa实践

时间:2019-08-07 21:40:41      阅读:114      评论:0      收藏:0      [点我收藏+]

1.按钮addTarget

    [[self.aDepositBtn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(__kindof UIControl * _Nullable x) {

        //点击处理

    }];

2.View加tap事件

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] init];

    @weakify(self);

    [[tap rac_gestureSignal] subscribeNext:^(id x) {

        @strongify(self);

    }];

    [infoView addGestureRecognizer:tap];

3.KVO监听对象的某个属性

    [RACObserve(self.mobileTextField, text) subscribeNext:^(id  _Nullable x) {

        NSString * text = (NSString *)x;

        if (text.length) {

            //将提交按钮置为蓝色

            

        } else {

            //将提交按钮置为灰色

        }

    }];

 

4.通知传值

    [[NSNotificationCenter defaultCenter] postNotificationName:@"RACNotification" object:@[@"1",@"2"]];

 

    [[[NSNotificationCenter defaultCenter]rac_addObserverForName:@"RACNotification" object:nil]subscribeNext:^(id x) {

        NSLog(@"%@",x);

    }];

5.UITextField输入结束等类似的代理方法

 

    [[self.textField rac_signalForControlEvents:UIControlEventEditingDidEnd] subscribeNext:^(id x){

        //x是textField对象

        NSLog(@"%@",x);

    }];

 6.监听视图Frame更新UI

    [RACObserve(_mAreaView, frame) subscribeNext:^(id  _Nullable x) {

        CGRect rect = [x CGRectValue];

        //更新UI

    }];

 

 

ReactiveCocoa实践

原文:https://www.cnblogs.com/huangzs/p/11317726.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!