首页 > 其他 > 详细

新浪微博客户端(46)-点击表情按钮弹出表情

时间:2016-11-30 23:03:16      阅读:179      评论:0      收藏:0      [点我收藏+]

 

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

最终效果:

技术分享

 

新浪微博客户端(46)-点击表情按钮弹出表情

原文:http://www.cnblogs.com/yongdaimi/p/6119756.html

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