• iOS 顺传


    ios 顺传一层的话,直接用属性 改变里面的值

    顺传穿两到三层的话 使用KVO

    // 设置item

    - (void)setItem:(UITabBarItem *)item

    {

        _item = item;

        

        // KVO 监听属性改变

        [item addObserver:self forKeyPath:@"badgeValue" options:0 context:nil];

        [item addObserver:self forKeyPath:@"title" options:0 context:nil];

        [item addObserver:self forKeyPath:@"image" options:0 context:nil];

        [item addObserver:self forKeyPath:@"selectedImage" options:0 context:nil];

        

        [self observeValueForKeyPath:nil ofObject:nil change:nil context:nil];

    }

    - (void)dealloc

    {

        [self.item removeObserver:self forKeyPath:@"badgeValue"];

        [self.item removeObserver:self forKeyPath:@"title"];

        [self.item removeObserver:self forKeyPath:@"image"];

        [self.item removeObserver:self forKeyPath:@"selectedImage"];

    }

    /**

     *  监听到某个对象的属性改变了,就会调用

     *

     *  @param keyPath 属性名

     *  @param object  哪个对象的属性被改变

     *  @param change  属性发生的改变

     */

    - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context

    {

        // 设置文字

        [self setTitle:self.item.title forState:UIControlStateSelected];

        [self setTitle:self.item.title forState:UIControlStateNormal];

        

        // 设置图片

        [self setImage:self.item.image forState:UIControlStateNormal];

        [self setImage:self.item.selectedImage forState:UIControlStateSelected];

        

        // 设置提醒数字

        self.badgeButton.badgeValue = self.item.badgeValue;

        

        // 设置提醒数字的位置

        CGFloat badgeY = 5;

        CGFloat badgeX = self.frame.size.width - self.badgeButton.frame.size.width - 10;

        CGRect badgeF = self.badgeButton.frame;

        badgeF.origin.x = badgeX;

        badgeF.origin.y = badgeY;

        self.badgeButton.frame = badgeF;

    }

  • 相关阅读:
    attr系列保留方法使用
    利用python的标准库hashlib 的md5()生成唯一的id
    【病因】 神经衰弱的几大病因
    群里看到的一个骗子批八字的例子
    i'll make a man out of you
    It's A Good Day To Die
    两天了。照着SVN的界面画的一个界面。
    起一卦,看看我想要的,依然这么倒霉
    倒霉倒霉真倒霉,这一卦起得和上一卦一样
    只要是倒霉,起卦就能看出来
  • 原文地址:https://www.cnblogs.com/yyj900165/p/5175254.html
Copyright © 2020-2023  润新知