123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688 |
- //
- // JXSetLabelVC.m
- // shiku_im
- //
- // Created by p on 2018/6/26.
- // Copyright © 2018年 Reese. All rights reserved.
- //
- #import "JXSetLabelVC.h"
- #import "JXLabelObject.h"
- #import "UIImage+Color.h"
- #define HEIGHT 54
- @interface JXSetLabelVC ()<UITextFieldDelegate,UITextViewDelegate,UIScrollViewDelegate>
- @property (nonatomic, strong) UIScrollView *scrollView;
- @property (nonatomic, strong) UIScrollView *allScrollView;
- @property (nonatomic, strong) NSMutableArray *labelsArray; // 已有标签按钮
- @property (nonatomic, strong) NSMutableArray *allLabelsArray; // 所有标签按钮
- @property (nonatomic, strong) UITextField *name; //备注
- @property (nonatomic, strong) UITextField *textField; //标签
- @property (nonatomic, strong) UITextView *detail; //描述
- @property (nonatomic, strong) UILabel *labT;
- @property (nonatomic, strong) UIView *baseView;
- @property (nonatomic, strong) UIColor *textVColor;
- @end
- @implementation JXSetLabelVC
- - (void)viewDidLoad {
- [super viewDidLoad];
-
-
- // Do any additional setup after loading the view.
- if (_array.count <= 0) {
- _array = [[JXLabelObject sharedInstance] fetchLabelsWithUserId:self.user.userId];
- }
- if (_allArray.count <= 0) {
- _allArray = [[JXLabelObject sharedInstance] fetchAllLabelsFromLocal];
- }
-
- for (JXLabelObject *labelObj in _array) {
- NSString *userIdStr = labelObj.userIdList;
- NSArray *userIds = [userIdStr componentsSeparatedByString:@","];
- if (userIdStr.length <= 0) {
- userIds = nil;
- }
-
- NSMutableArray *newUserIds = [userIds mutableCopy];
- for (NSInteger i = 0; i < userIds.count; i ++) {
- NSString *userId = userIds[i];
- NSString *userName = [JXUserObject getUserNameWithUserId:userId];
-
- if (!userName || userName.length <= 0) {
- [newUserIds removeObject:userId];
- }
-
- }
-
- NSString *string = [newUserIds componentsJoinedByString:@","];
-
- labelObj.userIdList = string;
-
- [labelObj update];
- }
- _labelsArray = [NSMutableArray array];
- _allLabelsArray = [NSMutableArray array];
-
- self.heightHeader = JX_SCREEN_TOP;
- self.heightFooter = 0;
- self.isGotoBack = YES;
- [self createHeadAndFoot];
-
- self.tableBody.delegate = self;
- self.tableBody.backgroundColor = HEXCOLOR(0xF2F2F2);
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(menuControllerWillHide) name:UIMenuControllerWillHideMenuNotification object:nil];
- [self customView];
- }
- - (void)customView {
- JXLabel *p = [self createLabel:self.tableHeader default:Localized(@"JX_Confirm") selector:@selector(onSave)];
- p.textColor = [UIColor whiteColor];
- p.layer.masksToBounds = YES;
- p.layer.cornerRadius = 3.f;
- [p setBackgroundColor:THEMECOLOR];
- [p setFont:SYSFONT(15)];
- p.textAlignment = NSTextAlignmentCenter;
- p.frame = CGRectMake(JX_SCREEN_WIDTH - 51 - 15, JX_SCREEN_TOP - 8 - 29, 51, 29);
- _scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, JX_SCREEN_WIDTH, 50)];
- _scrollView.backgroundColor = [UIColor whiteColor];
- [self.tableBody addSubview:_scrollView];
-
- _allScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(_scrollView.frame), JX_SCREEN_WIDTH, self.tableBody.frame.size.height - CGRectGetMaxY(_scrollView.frame))];
- _allScrollView.backgroundColor = [UIColor clearColor];
- [self.tableBody addSubview:_allScrollView];
-
- // 创建上部分已有标签视图
- [self createLabels];
-
- // 创建下部分所有标签视图
- [self createAllLabels];
- }
- -(JXLabel*)createLabel:(UIView*)parent default:(NSString*)s selector:(SEL)selector{
- JXLabel* p = [[JXLabel alloc] initWithFrame:CGRectMake(JX_SCREEN_WIDTH/2,INSETS,JX_SCREEN_WIDTH/2 -20,44-INSETS*2)];
- p.userInteractionEnabled = NO;
- p.text = s;
- p.font = g_factory.font14;
- p.textAlignment = NSTextAlignmentLeft;
- p.didTouch = selector;
- p.delegate = self;
- [parent addSubview:p];
- return p;
- }
- // 创建已有标签
- - (void)createLabels {
-
- [_scrollView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
- [_labelsArray removeAllObjects];
-
- int margin = 15;
- int inset = 8;
- int x = margin;
- int y = margin;
- UIButton *lastLabelBtn;
- for (NSInteger i = 0; i < _array.count; i ++) {
- JXLabelObject *labelObj = _array[i];
- CGSize size = [labelObj.groupName boundingRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:16.0]} context:nil].size;
- size = CGSizeMake(size.width + 20, size.height + 10);
- UIButton *labelBtn = [[UIButton alloc] initWithFrame:CGRectMake(x, y, size.width, 36)];
- [labelBtn setTitle:labelObj.groupName forState:UIControlStateNormal];
- [labelBtn setTitleColor:HEXCOLOR(0x333333) forState:UIControlStateNormal];
- [labelBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateSelected];
- [labelBtn setBackgroundImage:[UIImage createImageWithColor:[UIColor whiteColor]] forState:UIControlStateNormal];
- [labelBtn setBackgroundImage:[UIImage createImageWithColor:HEXCOLOR(0x4FC557)] forState:UIControlStateSelected];
- labelBtn.titleLabel.font = [UIFont systemFontOfSize:16.0];
- labelBtn.layer.cornerRadius = 7.f;
- labelBtn.layer.masksToBounds = YES;
- labelBtn.layer.borderColor = THEMECOLOR.CGColor;
- labelBtn.layer.borderWidth = 1.0;
- labelBtn.tag = i;
- [labelBtn addTarget:self action:@selector(labelBtnAction:) forControlEvents:UIControlEventTouchUpInside];
- [_scrollView addSubview:labelBtn];
- [_labelsArray addObject:labelBtn];
-
- lastLabelBtn = labelBtn;
-
- x = CGRectGetMaxX(labelBtn.frame) + inset;
-
- if (i != _array.count - 1) {
- JXLabelObject *lastLabelObj = _array[i + 1];
- CGSize lastSize = [lastLabelObj.groupName boundingRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:16.0]} context:nil].size;
- lastSize = CGSizeMake(lastSize.width + 20, lastSize.height + 10);
- if ((x + lastSize.width + margin) > JX_SCREEN_WIDTH) {
- x = margin;
- y = CGRectGetMaxY(labelBtn.frame) + 10;
- }
- }
-
- }
- if (!_textField) {
- _textField = [[UITextField alloc] init];
- _textField.placeholder = Localized(@"JX_InputLabel");
- _textField.font = [UIFont systemFontOfSize:16.0];
- _textField.delegate = self;
- _textField.returnKeyType = UIReturnKeyDone;
- }
-
- [_scrollView addSubview:_textField];
- if (CGRectGetMaxX(lastLabelBtn.frame) + margin + 50 + margin > JX_SCREEN_WIDTH) {
- _textField.frame = CGRectMake(margin, CGRectGetMaxY(lastLabelBtn.frame) + margin, JX_SCREEN_WIDTH - margin - margin, 36);
- }else {
- CGFloat y = lastLabelBtn.frame.origin.y;
- if (!lastLabelBtn) {
- y = margin;
- }
-
- _textField.frame = CGRectMake(CGRectGetMaxX(lastLabelBtn.frame) + margin, y, JX_SCREEN_WIDTH - CGRectGetMaxX(lastLabelBtn.frame) - margin - margin, 36);
- }
-
- if ((CGRectGetMaxY(_textField.frame) + margin) > (margin * 4 + 36 * 3)) {
- _scrollView.frame = CGRectMake(_scrollView.frame.origin.x, _scrollView.frame.origin.y, _scrollView.frame.size.width, margin * 4 + 36 * 3);
- _scrollView.contentSize = CGSizeMake(JX_SCREEN_WIDTH, CGRectGetMaxY(_textField.frame) + margin);
- }else {
- _scrollView.frame = CGRectMake(_scrollView.frame.origin.x, _scrollView.frame.origin.y, _scrollView.frame.size.width, CGRectGetMaxY(_textField.frame) + margin);
- _scrollView.contentSize = CGSizeMake(JX_SCREEN_WIDTH, _scrollView.frame.size.height);
- }
- [_scrollView setContentOffset:CGPointMake(0, _scrollView.contentSize.height - _scrollView.frame.size.height)];
-
- _allScrollView.frame = CGRectMake(_allScrollView.frame.origin.x, CGRectGetMaxY(_scrollView.frame), _allScrollView.frame.size.width, _allScrollView.frame.size.height);
- }
- // 创建所有标签
- - (void) createAllLabels {
-
- [_allLabelsArray removeAllObjects];
-
- UILabel *allLabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 10, JX_SCREEN_WIDTH, 15)];
- allLabel.text = Localized(@"JX_AllLabels");
- allLabel.font = [UIFont systemFontOfSize:15.0];
- allLabel.textColor = [UIColor grayColor];
- [_allScrollView addSubview:allLabel];
-
- int margin = 15;
- int inset = 8;
- int x = margin;
- int y = CGRectGetMaxY(allLabel.frame) + margin;
- UIButton *lastLabelBtn;
- for (NSInteger i = 0; i < _allArray.count; i ++) {
- JXLabelObject *labelObj = _allArray[i];
-
- BOOL flag = NO;
- for (JXLabelObject *obj in _array) {
- if ([obj.groupName isEqualToString:labelObj.groupName]) {
- flag = YES;
- break;
- }
- }
-
- CGSize size = [labelObj.groupName boundingRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:16.0]} context:nil].size;
- size = CGSizeMake(size.width + 20, size.height + 10);
- UIButton *labelBtn = [[UIButton alloc] initWithFrame:CGRectMake(x, y, size.width, 36)];
- [labelBtn setTitle:labelObj.groupName forState:UIControlStateNormal];
- [labelBtn setTitleColor: [UIColor blackColor] forState:UIControlStateNormal];
- [labelBtn setTitleColor:HEXCOLOR(0x333333) forState:UIControlStateSelected];
- [labelBtn setBackgroundImage:[UIImage createImageWithColor:[UIColor clearColor]] forState:UIControlStateNormal];
- [labelBtn setBackgroundImage:[UIImage createImageWithColor:[UIColor whiteColor]] forState:UIControlStateSelected];
- labelBtn.titleLabel.font = [UIFont systemFontOfSize:16.0];
- labelBtn.layer.cornerRadius = 7.f;
- labelBtn.layer.masksToBounds = YES;
- labelBtn.layer.borderColor = THEMECOLOR.CGColor;
- labelBtn.layer.borderWidth = 1.0;
- labelBtn.tag = i;
- [labelBtn addTarget:self action:@selector(allLabelAction:) forControlEvents:UIControlEventTouchUpInside];
- labelBtn.selected = flag;
- if (flag) {
- labelBtn.layer.borderColor = THEMECOLOR.CGColor;
- }else {
- labelBtn.layer.borderColor = HEXCOLOR(0xdcdcdc).CGColor;
- }
- [_allScrollView addSubview:labelBtn];
- [_allLabelsArray addObject:labelBtn];
-
- lastLabelBtn = labelBtn;
-
- x = CGRectGetMaxX(labelBtn.frame) + inset;
-
- if (i != _allArray.count - 1) {
- JXLabelObject *lastLabelObj = _allArray[i + 1];
- CGSize lastSize = [lastLabelObj.groupName boundingRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:16.0]} context:nil].size;
- lastSize = CGSizeMake(lastSize.width + 20, lastSize.height + 10);
- if ((x + lastSize.width + margin) > JX_SCREEN_WIDTH) {
- x = margin;
- y = CGRectGetMaxY(labelBtn.frame) + 10;
- }
- }
-
- _allScrollView.frame = CGRectMake(_allScrollView.frame.origin.x, _allScrollView.frame.origin.y, _allScrollView.frame.size.width, CGRectGetMaxY(lastLabelBtn.frame) + margin+100);
- }
- }
- // 已有标签点击事件
- - (void)labelBtnAction:(UIButton *)labelBtn {
-
- labelBtn.selected = !labelBtn.selected;
- for (UIButton *btn in _labelsArray) {
- if (btn.tag != labelBtn.tag) {
- btn.selected = !labelBtn.selected;
- }
- }
-
- // 删除菜单
- [self becomeFirstResponder];
- UIMenuController *menuController = [UIMenuController sharedMenuController];
- [menuController setTargetRect:labelBtn.frame inView:labelBtn.superview];
- UIMenuItem *delete = [[UIMenuItem alloc] initWithTitle:Localized(@"JX_Delete") action:@selector(deleteAction)];
- menuController.menuItems = @[delete];
-
- // [menuController setMenuVisible:YES animated:YES];
- menuController.menuVisible = YES;
- }
- - (BOOL)canBecomeFirstResponder
- {
- return YES;
- }
- - (BOOL)canPerformAction:(SEL)action
- withSender:(id)sender
- {
- if (action == @selector(deleteAction))
- return YES;
- else
- return NO;
- }
- // 删除菜单隐藏通知,取消选中
- - (void)menuControllerWillHide {
- for (UIButton *btn in _labelsArray) {
- btn.selected = NO;
- }
- }
- // 删除菜单点击事件
- - (void)deleteAction {
-
- NSInteger index = -1;
- for (NSInteger i = 0; i < _labelsArray.count; i ++) {
- UIButton *btn = _labelsArray[i];
- if (btn.selected) {
- index = i;
- BOOL flag = NO;
- for (UIButton *allBtn in _allLabelsArray) {
- if ([btn.titleLabel.text isEqualToString:allBtn.titleLabel.text]) {
- flag = YES;
- // 所有标签存在将要删除的标签
- [self allLabelAction:allBtn];
- break;
- }
- }
-
- // 所有标签中没有将要删除的标签
- if (!flag) {
- if (index >= 0) {
- [_array removeObjectAtIndex:index];
- [_labelsArray removeObjectAtIndex:index];
- [self createLabels];
- }
- }
-
- break;
- }
- }
- }
- // 所有标签点击事件
- - (void)allLabelAction:(UIButton *)labelBtn {
-
- labelBtn.selected = !labelBtn.selected;
- if (labelBtn.selected) {
- labelBtn.layer.borderColor = THEMECOLOR.CGColor;
- }else {
- labelBtn.layer.borderColor = HEXCOLOR(0xdcdcdc).CGColor;
- }
-
- JXLabelObject *allObj = _allArray[labelBtn.tag];
- JXLabelObject *obj = nil;
- // 查找已选标签中是否有此标签
- for (JXLabelObject *labelObj in _array) {
- if ([allObj.groupName isEqualToString:labelObj.groupName]) {
- obj = labelObj;
- break;
- }
- }
-
- NSMutableArray *userIdArr = [NSMutableArray arrayWithArray: [allObj.userIdList componentsSeparatedByString:@","]];
- if (allObj.userIdList.length <= 0) {
- userIdArr = [NSMutableArray array];
- }
- NSString *userId;
- for (NSString *str in userIdArr) {
- if ([str isEqualToString:self.user.userId]) {
- userId = str;
- break;
- }
- }
-
- if (obj) {
- // 如果已选标签有此标签,删除已选标签
- [_array removeObject:obj];
- if (userId) {
- [userIdArr removeObject:userId];
- }
- }else {
- // 如果没有,添加此标签
- [_array addObject:allObj];
- if (!userId) {
- [userIdArr addObject:self.user.userId];
- }
- }
-
- NSMutableString *userIdListStr = [NSMutableString string];
- for (NSInteger i = 0; i < userIdArr.count; i ++) {
- NSString *userId = userIdArr[i];
- if (i == 0) {
- [userIdListStr appendFormat:@"%@", userId];
- }else {
- [userIdListStr appendFormat:@",%@", userId];
- }
- }
- // 更改所有标签的userList
- allObj.userIdList = userIdListStr;
-
- [self createLabels];
- }
- // 输入框回调
- - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
-
- // 点击键盘完成
- if ([string isEqualToString:@"\n"]) {
-
- if (textField.text.length > 0) {
-
- // 查重、如果已选标签中已存在此标签,不重复添加
- for (UIButton *labelBtn in _labelsArray) {
- if ([labelBtn.titleLabel.text isEqualToString:textField.text]) {
-
- _textField.text = nil;
- return YES;
- }
- }
-
- // 查重、如果所有标签中已存在此标签
- for (UIButton *allLabelBtn in _allLabelsArray) {
- if ([allLabelBtn.titleLabel.text isEqualToString:textField.text]) {
-
- // 如果所有标签此标签未选中,自动选中此标签
- if (!allLabelBtn.selected) {
- [self allLabelAction:allLabelBtn];
- }
- // 如果已选中,不做操作
- _textField.text = nil;
- return YES;
- }
- }
-
- // 添加输入的标签
- JXLabelObject *labelObj = [[JXLabelObject alloc] init];
- labelObj.groupName = textField.text;
- [_array addObject:labelObj];
- [self createLabels];
- _textField.text = nil;
- return YES;
- }
- }
-
-
- // 删除
- if (string.length <= 0 && textField.text.length <= 0) {
-
- UIButton *lastBtn = _labelsArray.lastObject;
- if (lastBtn.selected) { // 如果已选标签最后一个标签已选中
- NSInteger index = -1;
- for (NSInteger i = 0; i < _labelsArray.count; i ++) {
- UIButton *btn = _labelsArray[i];
- if (btn.selected) {
- index = i;
- BOOL flag = NO;
- for (UIButton *allBtn in _allLabelsArray) {
- if ([btn.titleLabel.text isEqualToString:allBtn.titleLabel.text]) {
- flag = YES;
- // 如果所有标签中有此标签
- [self allLabelAction:allBtn];
- break;
- }
- }
-
- if (!flag) { // 如果所有标签中没有此标签直接删除
- if (index >= 0) {
- [_array removeObjectAtIndex:index];
- [_labelsArray removeObjectAtIndex:index];
- [self createLabels];
- }
- }
-
- break;
- }
- }
- }else { // 如果没有选中, 第一次点击删除 选中最后一个标签
- lastBtn.selected = YES;
- }
- }
-
- return YES;
- }
- // 确定按钮
- - (void)onSave {
- if (self.textField.text.length > 0) {
-
- // 查重、如果已选标签中已存在此标签,不重复添加
- for (UIButton *labelBtn in _labelsArray) {
- if ([labelBtn.titleLabel.text isEqualToString:self.textField.text]) {
-
- _textField.text = nil;
- return;
- }
- }
-
- // 查重、如果所有标签中已存在此标签
- for (UIButton *allLabelBtn in _allLabelsArray) {
- if ([allLabelBtn.titleLabel.text isEqualToString:self.textField.text]) {
-
- // 如果所有标签此标签未选中,自动选中此标签
- if (!allLabelBtn.selected) {
- [self allLabelAction:allLabelBtn];
- }
- // 如果已选中,不做操作
- _textField.text = nil;
- return;
- }
- }
-
- // 添加输入的标签
- JXLabelObject *labelObj = [[JXLabelObject alloc] init];
- labelObj.groupName = self.textField.text;
- [_array addObject:labelObj];
- [self createLabels];
- _textField.text = nil;
- return;
- }
-
- BOOL flag = NO;
- for (NSInteger i = 0; i < _array.count; i ++) {
- JXLabelObject *labelObj = _array[i];
-
- // 添加输入框输入的新创建的标签
- if (!labelObj.groupId) {
- flag = YES;
- [g_server friendGroupAdd:labelObj.groupName toView:self];
- }
- }
-
- // 没有新创建的标签,直接更新已存在标签
- if (!flag) {
- NSMutableString *userIdListStr = [NSMutableString string];
- for (NSInteger i = 0; i < _array.count; i ++) {
- JXLabelObject *obj = _array[i];
- if (i == 0) {
- [userIdListStr appendFormat:@"%@", obj.groupId];
- }else {
- [userIdListStr appendFormat:@",%@", obj.groupId];
- }
- }
- [g_server friendGroupUpdateFriendToUserId:self.user.userId groupIdStr:userIdListStr toView:self];
- }
- if ([self.delegate respondsToSelector:self.didSelect]) {
- [self.delegate performSelectorOnMainThread:self.didSelect withObject:self waitUntilDone:NO];
- }
-
- [self actionQuit];
- }
- //服务器返回数据
- -(void) didServerResultSucces:(JXConnection*)aDownload dict:(NSDictionary*)dict array:(NSArray*)array1{
- [_wait stop];
- if ([aDownload.action isEqualToString:act_FriendGroupAdd]) {
-
- NSMutableString *userIdListStr = [NSMutableString stringWithFormat:@"%@", self.user.userId];
-
- // 添加新标签后更新标签的用户列表
- [g_server friendGroupUpdateGroupUserList:dict[@"groupId"] userIdListStr:userIdListStr toView:self];
-
- JXLabelObject *label = [[JXLabelObject alloc] init];
- if (dict) {
- label.userId = dict[@"userId"];
- label.groupId = dict[@"groupId"];
- label.groupName = dict[@"groupName"];
- }
- label.userIdList = userIdListStr;
- // 插入新创建的标签
- [label insert];
-
- JXLabelObject *lastObj;
- // 查找到新创建的标签的最后一个
- for (NSInteger i = _array.count - 1; i >= 0; i --) {
- JXLabelObject *obj = _array[i];
- if (!obj.groupId) {
- lastObj = obj;
- break;
- }
- }
-
- // 更新新创建的标签的其他字段
- for (JXLabelObject *labelObj in _array) {
- if ([label.groupName isEqualToString:labelObj.groupName]) {
- labelObj.groupId = label.groupId;
- labelObj.userId = label.userId;
- labelObj.userIdList = label.userIdList;
- break;
- }
- }
-
- // 如果接口已成功添加完最后一条标签后,再更新用户的标签列表
- if ([label.groupName isEqualToString:lastObj.groupName]) {
-
- NSMutableString *userIdListStr = [NSMutableString string];
- for (NSInteger i = 0; i < _array.count; i ++) {
- JXLabelObject *obj = _array[i];
- if (i == 0) {
- [userIdListStr appendFormat:@"[%@", obj.groupId];
- }else if (i == self.array.count - 1) {
- [userIdListStr appendFormat:@",%@]", obj.groupId];
- }else {
- [userIdListStr appendFormat:@",%@", obj.groupId];
- }
- }
-
- [g_server friendGroupUpdateFriendToUserId:self.user.userId groupIdStr:userIdListStr toView:self];
-
- }
- }
-
- if ([aDownload.action isEqualToString:act_FriendGroupUpdateFriend]) {
-
- // 更新数据库
- for (JXLabelObject *labelObj in _allArray) {
- [labelObj update];
- }
- self.user.remarkName = _name.text;
- if (_detail.textColor != self.textVColor) {
- self.user.describe = _detail.text;
- }else {
- self.user.describe = nil;
- }
- if ([self.delegate respondsToSelector:self.didSelect]) {
- [self.delegate performSelectorOnMainThread:self.didSelect withObject:self waitUntilDone:NO];
- }
-
- // [self actionQuit];
- }
- }
- -(int) didServerResultFailed:(JXConnection*)aDownload dict:(NSDictionary*)dict{
- [_wait hide];
-
- return show_error;
- }
- -(int) didServerConnectError:(JXConnection*)aDownload error:(NSError *)error{//error为空时,代表超时
- [_wait hide];
- return show_error;
- }
- -(void) didServerConnectStart:(JXConnection*)aDownload{
- [_wait start];
- }
- -(UITextView*)createTextField:(UIView*)parent default:(NSString*)s {
- UITextView* p = [[UITextView alloc] init];
- p.delegate = self;
- p.autocorrectionType = UITextAutocorrectionTypeNo;
- p.autocapitalizationType = UITextAutocapitalizationTypeNone;
- p.enablesReturnKeyAutomatically = YES;
- p.scrollEnabled = NO;
- p.returnKeyType = UIReturnKeyDone;
- p.showsVerticalScrollIndicator = NO;
- p.showsHorizontalScrollIndicator = NO;
- p.textAlignment = NSTextAlignmentLeft;
- p.userInteractionEnabled = YES;
- p.backgroundColor = [UIColor whiteColor];
- p.text = s;
- p.font = g_factory.font15;
- [parent addSubview:p];
- return p;
- }
- - (void)scrollViewDidScroll:(UIScrollView *)scrollView {
- [self.view endEditing:YES];
- }
- @end
|