// // emojiViewController.m // // Created by daxiong on 13-11-27. // Copyright (c) 2013年 Reese. All rights reserved. // #import "emojiViewController.h" #import "menuImageView.h" #import "FaceViewController.h" #import "gifViewController.h" #import "AppDelegate.h" #import "JLMenuView.h" #import "JLFacePackgeModel.h" #import "JLMyFacePackgeViewController.h" #import "CYFacePackageViewController.h" #import "JLSingleFaceViewController.h" #import "XLsn0wScrollUnderlineButton.h" @interface emojiViewController() @property (nonatomic, strong) XLsn0wScrollUnderlineButton * barScrollUnderlineButton; @property (nonatomic, strong) NSMutableArray *facePackages; @property (nonatomic, strong) NSMutableArray *faceNames; @property (nonatomic, strong) EmojiPackgeViewController *emojiPackgeVC; @end @implementation emojiViewController @synthesize delegate; @synthesize faceView=_faceView; - (id)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { self.backgroundColor = HEXCOLOR(0xf0eff4); // _faceView = [[FaceViewController alloc]initWithFrame:CGRectMake(0, 0, JX_SCREEN_WIDTH, 222+10)]; _faceView = [[FaceViewController alloc]initWithFrame:CGRectMake(0, 0, JX_SCREEN_WIDTH, 253+10)]; [self addSubview:_faceView]; _faceView.hidden = NO; // _gifView = [[gifViewController alloc]initWithFrame:CGRectMake(0, 0, JX_SCREEN_WIDTH, self.frame.size.height-JX_SCREEN_TOP-JX_SCREEN_BOTTOM+10)]; // [self addSubview:_gifView]; // _gifView.backgroundColor=[UIColor brownColor]; // _gifView.hidden = YES; // // _favoritesVC = [[FavoritesVC alloc] init]; // _favoritesVC.view.frame = CGRectMake(0, 0, JX_SCREEN_WIDTH, self.frame.size.height-JX_SCREEN_BOTTOM+10); // _gifView.backgroundColor=[UIColor cyanColor]; // [self addSubview:_favoritesVC.view]; // _favoritesVC.view.hidden = YES; _emojiPackgeVC = [[EmojiPackgeViewController alloc] init]; _emojiPackgeVC.view.frame = CGRectMake(0, 0, JX_SCREEN_WIDTH, 253+10); [self addSubview:_emojiPackgeVC.view]; _gifView.backgroundColor=[UIColor brownColor]; _emojiPackgeVC.view.hidden = YES; //WithFrame:CGRectMake(0, self.frame.size.height-JX_SCREEN_BOTTOM -(JX_SCREEN_HEIGHT>=812?24:40)+ (JX_SCREEN_HEIGHT>=812?22:36), [UIScreen mainScreen].bounds.size.width, 40) UIView *containerView = [[UIView alloc] init]; containerView.backgroundColor = [UIColor whiteColor]; //containerView.backgroundColor = [UIColor greenColor]; UIButton *settingBtn = [UIButton buttonWithType:(UIButtonTypeCustom)]; [settingBtn setImage:[UIImage imageNamed:@"set_up"] forState:(UIControlStateNormal)]; [settingBtn addTarget:self action:@selector(settingBtnClick) forControlEvents:(UIControlEventTouchUpInside)]; UIButton *addBtn = [UIButton buttonWithType:(UIButtonTypeCustom)]; [addBtn setImage:[UIImage imageNamed:@"person_add_green"] forState:(UIControlStateNormal)]; [addBtn addTarget:self action:@selector(addBtnClick) forControlEvents:(UIControlEventTouchUpInside)]; CGPoint point = CGPointMake(5 + 15 , 20); settingBtn.frame = CGRectMake(0, 0, 30, 30); settingBtn.center = point; CGPoint point1 = CGPointMake(35 + 15 + 5 , 20); addBtn.frame = CGRectMake(0, 0, 30, 30); addBtn.center = point1; // [containerView addSubview:settingBtn]; // [containerView addSubview:addBtn]; _barScrollUnderlineButton = [[XLsn0wScrollUnderlineButton alloc] initWithFrame:(CGRectMake(10, 0, [UIScreen mainScreen].bounds.size.width-10, 40))]; [containerView addSubview:_barScrollUnderlineButton]; __weak __typeof(self)weakSelf = self; _barScrollUnderlineButton.scrollUnderlineButtonBlock = ^(NSUInteger selectedIndex) { NSLog(@"selectedIndex = %ld", selectedIndex); if (selectedIndex < 1) { } else{ weakSelf.emojiPackgeVC.model = weakSelf.facePackages[selectedIndex-1]; } [weakSelf selectType:(int)selectedIndex]; weakSelf.selectedIndex = selectedIndex; }; /// 设置字体和颜色 _barScrollUnderlineButton.normalColor = [UIColor blackColor]; _barScrollUnderlineButton.selectedColor = [UIColor redColor]; _barScrollUnderlineButton.selectedFont = [UIFont systemFontOfSize:16]; _barScrollUnderlineButton.normalFont = [UIFont systemFontOfSize:16]; _barScrollUnderlineButton.lineView.backgroundColor = [UIColor redColor]; // 分割线 UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 0.5)]; lineView.backgroundColor = HEXCOLOR(0XEFEFF4); [containerView addSubview:lineView]; [self addSubview:containerView]; [containerView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.right.mas_equalTo(0); make.bottom.mas_equalTo(JX_SCREEN_HEIGHT>=812?-10:0); make.height.mas_equalTo(40); }]; _facePackages = [NSMutableArray array]; _faceNames = [NSMutableArray array]; [g_notify addObserver:self selector:@selector(refresh:) name:kFavoritesRefresh object:nil]; } return self; } - (void)settingBtnClick { JLMyFacePackgeViewController *vc = [[JLMyFacePackgeViewController alloc] init]; [g_navigation pushViewController:vc animated:YES]; } - (void)addBtnClick { CYFacePackageViewController *vc = [[CYFacePackageViewController alloc] init]; [g_navigation pushViewController:vc animated:YES]; } - (void)refresh:(NSNotification *)notification { _emojiDataArray = [notification object]; // 字典转模型 NSSortDescriptor *sortNumSD = [NSSortDescriptor sortDescriptorWithKey:@"sortNum" ascending:YES]; _facePackages = [JLFacePackgeModel mj_objectArrayWithKeyValuesArray:_emojiDataArray]; _facePackages = [[_facePackages sortedArrayUsingDescriptors:@[sortNumSD]] mutableCopy]; _faceNames = [NSMutableArray array]; [_faceNames removeAllObjects]; [_faceNames addObjectsFromArray:@[@"表情"]]; for (JLFacePackgeModel *model in _facePackages) { [_faceNames addObject:model.name]; } _barScrollUnderlineButton.currentIndex = 0; [self selectType:0]; _barScrollUnderlineButton.titles = _faceNames; } -(void) dealloc{ [g_notify removeObserver:self]; } -(void)actionSegment:(UIButton*)sender{ // JayLuo:判断表情类型 switch (sender.tag){ case 0: _faceView.hidden = NO; _gifView.hidden = YES; _favoritesVC.view.hidden = YES; break; case 1: _faceView.hidden = YES; _gifView.hidden = NO; _favoritesVC.view.hidden = YES; break; case 2: _faceView.hidden = YES; _gifView.hidden = YES; _favoritesVC.view.hidden = NO; break; case 3: //发送全局通知 [g_notify postNotificationName:kSendInputNotifaction object:nil userInfo:nil]; break; } } -(void)setDelegate:(id)value{ if(delegate != value){ delegate = value; _faceView.delegate = delegate; _gifView.delegate = delegate; _favoritesVC.delegate = delegate; _emojiPackgeVC.delegate = delegate; } } -(void)selectType:(int)n{ [_tb selectOne:n]; // if (n == 2) { // _faceView.hidden = YES; // _gifView.hidden = YES; // _favoritesVC.view.hidden = NO; // _emojiPackgeVC.view.hidden = YES; // }else if(n == 1) { // _faceView.hidden = YES; // _gifView.hidden = NO; // _favoritesVC.view.hidden = YES; // _emojiPackgeVC.view.hidden = YES; // } else if(n == 0){ // _faceView.hidden = NO; // _gifView.hidden = YES; // _favoritesVC.view.hidden = YES; // _emojiPackgeVC.view.hidden = YES; // } else { // _faceView.hidden = YES; // _gifView.hidden = YES; // _favoritesVC.view.hidden = YES; // _emojiPackgeVC.view.hidden = NO; // } if (n == 0) { _faceView.hidden = NO; _emojiPackgeVC.view.hidden = YES; }else { _faceView.hidden = YES; _emojiPackgeVC.view.hidden = NO; } } @end