zoukankan      html  css  js  c++  java
  • 新浪微博客户端(46)-点击表情按钮弹出表情

    DJEmotionPageView.m

    /**
     * 点击表情监听方法
     * param btn 点击的表情按钮
     */
    - (void)emotionBtnClick:(DJEmotionButton *)btn {
    
        // 获取当前应用程序最顶层的窗口
        UIWindow *lastWindow = [[UIApplication sharedApplication].windows lastObject];
        
        // 转换btn当前坐标系
        CGRect newFrame = [btn convertRect:btn.bounds toView:nil];
        
        self.popView.centerX = CGRectGetMidX(newFrame);
        self.popView.y = CGRectGetMaxY(newFrame) - self.popView.height;
        
        // 将当前点击按钮的表情模型传递给popview
        self.popView.emotion = btn.emotion;
        
        [lastWindow addSubview:self.popView];
    
    }

    DJEmotionPopView.m

    #import "DJEmotionPopView.h"
    #import "DJEmotionButton.h"
    
    
    @interface DJEmotionPopView()
    
    // 表情
    @property (weak, nonatomic) IBOutlet DJEmotionButton *emotionView;
    
    @end
    
    
    @implementation DJEmotionPopView
    
    + (instancetype)popView {
    
        return [[[NSBundle mainBundle] loadNibNamed:@"DJEmotionPopView" owner:nil options:nil] lastObject];
    }
    
    
    - (void)setEmotion:(DJEmotion *)emotion {
        _emotion = emotion;
        self.emotionView.emotion = emotion;
    }
    
    
    #pragma mark - 当从Xib中加载View的时候不会调用initWithFrame方法,则是直接调用initWithCoder及awakeFromNib方法
    
    
    - (instancetype)initWithCoder:(NSCoder *)decoder
    {
        self = [super initWithCoder:decoder];
        if (self) {
         
            self.emotionView.titleLabel.font = [UIFont systemFontOfSize:32];
            
        }
        return self;
    }
    
    
    - (void)awakeFromNib {
    
    
    }
    
    
    
    @end

    最终效果:

  • 相关阅读:
    R中的一些数据形式
    R数据处理
    矩阵的一些知识
    R语言的一些矩阵运算
    R语言中的常用函数
    R读取数据和导出数据
    贝叶斯公式的理解方式
    R语言中bioconductor包
    R语言中的数据结构
    网页版的R设置环境变量
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/6119756.html
Copyright © 2011-2022 走看看