emojiViewController.m 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. //
  2. // emojiViewController.m
  3. //
  4. // Created by daxiong on 13-11-27.
  5. // Copyright (c) 2013年 Reese. All rights reserved.
  6. //
  7. #import "emojiViewController.h"
  8. #import "menuImageView.h"
  9. #import "FaceViewController.h"
  10. #import "gifViewController.h"
  11. #import "AppDelegate.h"
  12. #import "JLMenuView.h"
  13. #import "JLFacePackgeModel.h"
  14. #import "JLMyFacePackgeViewController.h"
  15. #import "CYFacePackageViewController.h"
  16. #import "JLSingleFaceViewController.h"
  17. #import "XLsn0wScrollUnderlineButton.h"
  18. @interface emojiViewController()
  19. @property (nonatomic, strong) XLsn0wScrollUnderlineButton * barScrollUnderlineButton;
  20. @property (nonatomic, strong) NSMutableArray *facePackages;
  21. @property (nonatomic, strong) NSMutableArray *faceNames;
  22. @property (nonatomic, strong) EmojiPackgeViewController *emojiPackgeVC;
  23. @end
  24. @implementation emojiViewController
  25. @synthesize delegate;
  26. @synthesize faceView=_faceView;
  27. - (id)initWithFrame:(CGRect)frame{
  28. self = [super initWithFrame:frame];
  29. if (self) {
  30. self.backgroundColor = HEXCOLOR(0xf0eff4);
  31. // _faceView = [[FaceViewController alloc]initWithFrame:CGRectMake(0, 0, JX_SCREEN_WIDTH, 222+10)];
  32. _faceView = [[FaceViewController alloc]initWithFrame:CGRectMake(0, 0, JX_SCREEN_WIDTH, 253+10)];
  33. [self addSubview:_faceView];
  34. _faceView.hidden = NO;
  35. // _gifView = [[gifViewController alloc]initWithFrame:CGRectMake(0, 0, JX_SCREEN_WIDTH, self.frame.size.height-JX_SCREEN_TOP-JX_SCREEN_BOTTOM+10)];
  36. // [self addSubview:_gifView];
  37. // _gifView.backgroundColor=[UIColor brownColor];
  38. // _gifView.hidden = YES;
  39. //
  40. // _favoritesVC = [[FavoritesVC alloc] init];
  41. // _favoritesVC.view.frame = CGRectMake(0, 0, JX_SCREEN_WIDTH, self.frame.size.height-JX_SCREEN_BOTTOM+10);
  42. // _gifView.backgroundColor=[UIColor cyanColor];
  43. // [self addSubview:_favoritesVC.view];
  44. // _favoritesVC.view.hidden = YES;
  45. _emojiPackgeVC = [[EmojiPackgeViewController alloc] init];
  46. _emojiPackgeVC.view.frame = CGRectMake(0, 0, JX_SCREEN_WIDTH, 253+10);
  47. [self addSubview:_emojiPackgeVC.view];
  48. _gifView.backgroundColor=[UIColor brownColor];
  49. _emojiPackgeVC.view.hidden = YES;
  50. //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)
  51. UIView *containerView = [[UIView alloc] init];
  52. containerView.backgroundColor = [UIColor whiteColor];
  53. //containerView.backgroundColor = [UIColor greenColor];
  54. UIButton *settingBtn = [UIButton buttonWithType:(UIButtonTypeCustom)];
  55. [settingBtn setImage:[UIImage imageNamed:@"set_up"] forState:(UIControlStateNormal)];
  56. [settingBtn addTarget:self action:@selector(settingBtnClick) forControlEvents:(UIControlEventTouchUpInside)];
  57. UIButton *addBtn = [UIButton buttonWithType:(UIButtonTypeCustom)];
  58. [addBtn setImage:[UIImage imageNamed:@"person_add_green"] forState:(UIControlStateNormal)];
  59. [addBtn addTarget:self action:@selector(addBtnClick) forControlEvents:(UIControlEventTouchUpInside)];
  60. CGPoint point = CGPointMake(5 + 15 , 20);
  61. settingBtn.frame = CGRectMake(0, 0, 30, 30);
  62. settingBtn.center = point;
  63. CGPoint point1 = CGPointMake(35 + 15 + 5 , 20);
  64. addBtn.frame = CGRectMake(0, 0, 30, 30);
  65. addBtn.center = point1;
  66. // [containerView addSubview:settingBtn];
  67. // [containerView addSubview:addBtn];
  68. _barScrollUnderlineButton = [[XLsn0wScrollUnderlineButton alloc] initWithFrame:(CGRectMake(10, 0, [UIScreen mainScreen].bounds.size.width-10, 40))];
  69. [containerView addSubview:_barScrollUnderlineButton];
  70. __weak __typeof(self)weakSelf = self;
  71. _barScrollUnderlineButton.scrollUnderlineButtonBlock = ^(NSUInteger selectedIndex) {
  72. NSLog(@"selectedIndex = %ld", selectedIndex);
  73. if (selectedIndex < 1) {
  74. } else{
  75. weakSelf.emojiPackgeVC.model = weakSelf.facePackages[selectedIndex-1];
  76. }
  77. [weakSelf selectType:(int)selectedIndex];
  78. weakSelf.selectedIndex = selectedIndex;
  79. };
  80. /// 设置字体和颜色
  81. _barScrollUnderlineButton.normalColor = [UIColor blackColor];
  82. _barScrollUnderlineButton.selectedColor = [UIColor redColor];
  83. _barScrollUnderlineButton.selectedFont = [UIFont systemFontOfSize:16];
  84. _barScrollUnderlineButton.normalFont = [UIFont systemFontOfSize:16];
  85. _barScrollUnderlineButton.lineView.backgroundColor = [UIColor redColor];
  86. // 分割线
  87. UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 0.5)];
  88. lineView.backgroundColor = HEXCOLOR(0XEFEFF4);
  89. [containerView addSubview:lineView];
  90. [self addSubview:containerView];
  91. [containerView mas_makeConstraints:^(MASConstraintMaker *make) {
  92. make.left.right.mas_equalTo(0);
  93. make.bottom.mas_equalTo(JX_SCREEN_HEIGHT>=812?-10:0);
  94. make.height.mas_equalTo(40);
  95. }];
  96. _facePackages = [NSMutableArray array];
  97. _faceNames = [NSMutableArray array];
  98. [g_notify addObserver:self selector:@selector(refresh:) name:kFavoritesRefresh object:nil];
  99. }
  100. return self;
  101. }
  102. - (void)settingBtnClick {
  103. JLMyFacePackgeViewController *vc = [[JLMyFacePackgeViewController alloc] init];
  104. [g_navigation pushViewController:vc animated:YES];
  105. }
  106. - (void)addBtnClick {
  107. CYFacePackageViewController *vc = [[CYFacePackageViewController alloc] init];
  108. [g_navigation pushViewController:vc animated:YES];
  109. }
  110. - (void)refresh:(NSNotification *)notification {
  111. _emojiDataArray = [notification object];
  112. // 字典转模型
  113. NSSortDescriptor *sortNumSD = [NSSortDescriptor sortDescriptorWithKey:@"sortNum" ascending:YES];
  114. _facePackages = [JLFacePackgeModel mj_objectArrayWithKeyValuesArray:_emojiDataArray];
  115. _facePackages = [[_facePackages sortedArrayUsingDescriptors:@[sortNumSD]] mutableCopy];
  116. _faceNames = [NSMutableArray array];
  117. [_faceNames removeAllObjects];
  118. [_faceNames addObjectsFromArray:@[@"表情"]];
  119. for (JLFacePackgeModel *model in _facePackages) {
  120. [_faceNames addObject:model.name];
  121. }
  122. _barScrollUnderlineButton.currentIndex = 0;
  123. [self selectType:0];
  124. _barScrollUnderlineButton.titles = _faceNames;
  125. }
  126. -(void) dealloc{
  127. [g_notify removeObserver:self];
  128. }
  129. -(void)actionSegment:(UIButton*)sender{
  130. // JayLuo:判断表情类型
  131. switch (sender.tag){
  132. case 0:
  133. _faceView.hidden = NO;
  134. _gifView.hidden = YES;
  135. _favoritesVC.view.hidden = YES;
  136. break;
  137. case 1:
  138. _faceView.hidden = YES;
  139. _gifView.hidden = NO;
  140. _favoritesVC.view.hidden = YES;
  141. break;
  142. case 2:
  143. _faceView.hidden = YES;
  144. _gifView.hidden = YES;
  145. _favoritesVC.view.hidden = NO;
  146. break;
  147. case 3:
  148. //发送全局通知
  149. [g_notify postNotificationName:kSendInputNotifaction object:nil userInfo:nil];
  150. break;
  151. }
  152. }
  153. -(void)setDelegate:(id)value{
  154. if(delegate != value){
  155. delegate = value;
  156. _faceView.delegate = delegate;
  157. _gifView.delegate = delegate;
  158. _favoritesVC.delegate = delegate;
  159. _emojiPackgeVC.delegate = delegate;
  160. }
  161. }
  162. -(void)selectType:(int)n{
  163. [_tb selectOne:n];
  164. // if (n == 2) {
  165. // _faceView.hidden = YES;
  166. // _gifView.hidden = YES;
  167. // _favoritesVC.view.hidden = NO;
  168. // _emojiPackgeVC.view.hidden = YES;
  169. // }else if(n == 1) {
  170. // _faceView.hidden = YES;
  171. // _gifView.hidden = NO;
  172. // _favoritesVC.view.hidden = YES;
  173. // _emojiPackgeVC.view.hidden = YES;
  174. // } else if(n == 0){
  175. // _faceView.hidden = NO;
  176. // _gifView.hidden = YES;
  177. // _favoritesVC.view.hidden = YES;
  178. // _emojiPackgeVC.view.hidden = YES;
  179. // } else {
  180. // _faceView.hidden = YES;
  181. // _gifView.hidden = YES;
  182. // _favoritesVC.view.hidden = YES;
  183. // _emojiPackgeVC.view.hidden = NO;
  184. // }
  185. if (n == 0) {
  186. _faceView.hidden = NO;
  187. _emojiPackgeVC.view.hidden = YES;
  188. }else {
  189. _faceView.hidden = YES;
  190. _emojiPackgeVC.view.hidden = NO;
  191. }
  192. }
  193. @end