iOS UITextField修改信息
2016-04-16 17:18
309 查看
//
// SetNoteViewController.h
// HengTaiXinGolf
//
// Created by 欧阳荣 on 16/3/17.
// Copyright © 2016年 HengTaiXinGolf. All rights reserved.
//
#import "ParentsViewController.h"
@interface SetNoteViewController :
ParentsViewController
@property (nonatomic,strong)
UILabel * titleLabel;
@property (nonatomic)
int searchType;
@property (nonatomic,copy)
NSString *NameField;
@property (nonatomic,copy)
NSString * friendIDStr;
@end
//
// SetNoteViewController.m
// HengTaiXinGolf
//
// Created by 欧阳荣 on 16/3/17.
// Copyright © 2016年 HengTaiXinGolf. All rights reserved.
//
#import "SetNoteViewController.h"
#define kHZMaxLength 15
#define kEGMaxLength 15
@interface
SetNoteViewController ()
@end
@implementation SetNoteViewController
{
UITextField * _nameField;
}
-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle
*)nibBundleOrNil
{
self = [super
initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil];
if (self)
{
//[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navBar.png"] forBarMetrics:UIBarMetricsDefault];
UILabel *titleLabel = [[UILabel
alloc]initWithFrame:CGRectMake(0,
0 , 100,
44)];
titleLabel.backgroundColor = [UIColor
clearColor]; //设置Label背景透明
titleLabel.font = [UIFont
boldSystemFontOfSize:KTitle];
//设置文本字体与大小
titleLabel.textColor = [UIColor
whiteColor]; //设置文本颜色
titleLabel.textAlignment =
NSTextAlignmentCenter;
titleLabel.text =
@"备注信息";
//设置标题
self.navigationItem.titleView = titleLabel;
}
return
self;
}
- (void)viewDidLoad {
[super
viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor=kColor(234,
234,
243);
if (self.searchType ==
1) {
[self
createBackBtn];
}else{
[self
creatBackItem];
[self
createRightBtn];
}
[self
creatSaveView];
}
//增加修改框
-(void)creatSaveView{
UILabel * lab = [[UILabel
alloc]init];
if (self.searchType ==
1) {
lab.frame =
CGRectMake(14,
8 * KWIDTH +
64, IPHONE_WIDTH -
100, 16 *
KWIDTH);
}else{
lab.frame =
CGRectMake(14,
8 * KWIDTH,
IPHONE_WIDTH - 100,
16 * KWIDTH);
}
lab.text =
@"备注名";
lab.font = [UIFont
systemFontOfSize:14];
lab.textColor =
kColor(137,
137, 137);
[self.view
addSubview:lab];
UIView *view=[[UIView
alloc] init];
if (self.searchType ==
1) {
view.frame =
CGRectMake(0,
32*KWIDTH +
64, IPHONE_WIDTH,
40*KWIDTH);
}else{
view.frame =
CGRectMake(0,
32*KWIDTH,
IPHONE_WIDTH, 40*KWIDTH);
}
UIView *lineViewlight3=[[UIView
alloc] initWithFrame:CGRectMake(0,0,
IPHONE_WIDTH, 0.5)];
lineViewlight3.backgroundColor=kColor(200,200
, 200);
lineViewlight3.alpha=0.8;
[view addSubview:lineViewlight3];
UIView *lineViewlight4=[[UIView
alloc] initWithFrame:CGRectMake(0,
40*KWIDTH-0.5,
IPHONE_WIDTH, 0.5)];
lineViewlight4.backgroundColor=kColor(200,200
, 200);
lineViewlight4.alpha=0.7;
[view addSubview:lineViewlight4];
view.backgroundColor=[UIColor
whiteColor];
_nameField = [[UITextField
alloc]initWithFrame:CGRectMake(10*KWIDTH,
0, IPHONE_WIDTH-15*KWIDTH,
40*KWIDTH)];
_nameField.text =
self.NameField;
_nameField.borderStyle =
UITextBorderStyleNone;
_nameField.clearButtonMode=
UITextFieldViewModeAlways;
[[NSNotificationCenter
defaultCenter]addObserver:self
selector:@selector(textFiledEditChanged:)
name:@"UITextFieldTextDidChangeNotification"
object:_nameField];
[view addSubview:_nameField];
[self.view
addSubview:view];
}
-(void)textFiledEditChanged:(NSNotification*)obj{
UITextField *textField = (UITextField *)obj.object;
//过滤掉系统表情
// UITextView * textView;
//
// NSRange textRange = [textView selectedRange];
// [textView setText:[self disable_emoji:[textView text]]];
// [textView setSelectedRange:textRange];
NSString *toBeString = textField.text;
DSLog(@"-----toBeString 1 ----%@",toBeString);
BOOL isEmoj = [self
stringContainsEmoji:toBeString];
NSString * _showStr;
toBeString = [self
disable_emoji:toBeString];
// textField.text = toBeString;
DSLog(@"-----toBeString 2 -----%@",toBeString);
NSString *lang = [[UITextInputMode
currentInputMode]
primaryLanguage]; //
键盘输入模式
if([lang
isEqualToString:@"zh-Hans"]) {
//简体中文输入,包括简体拼音,健体五笔,简体手写
UITextRange *selectedRange = [textField
markedTextRange];
//获取高亮部分
UITextPosition *position = [textField
positionFromPosition:selectedRange.start
offset:0];
//没有高亮选择的字,则对已输入的文字进行字数统计和限制
if(!position) {
if(toBeString.length >
kHZMaxLength) {
textField.text = [toBeString
substringToIndex:kHZMaxLength];
_showStr = [toBeString substringToIndex:kHZMaxLength];
}
}
//有高亮选择的字符串,则暂不对文字进行统计和限制
else{
}
}
//中文输入法以外的直接对其统计限制即可,不考虑其他语种情况
else{
if(toBeString.length >
kEGMaxLength) {
textField.text= [toBeString
substringToIndex:kEGMaxLength];
_showStr = [toBeString substringToIndex:kEGMaxLength];
}
}
DSLog(@" _showStr %@",_showStr);
if (isEmoj) {
if ([_showStr
length]) {
textField.text = _showStr;
}else{
textField.text = toBeString;
}
}
}
//判断NSString字符串是否包含emoji表情
- (BOOL)stringContainsEmoji:(NSString *)string
{
__block
BOOL returnValue =NO;
[string enumerateSubstringsInRange:NSMakeRange(0,
[string length])
options:NSStringEnumerationByComposedCharacterSequences
usingBlock:^(NSString *substring,
NSRange substringRange,
NSRange enclosingRange,
BOOL *stop) {
const
unichar hs = [substring
characterAtIndex:0];
// surrogate pair
if (0xd800) {
if (0xd800 <= hs && hs <=
0xdbff) {
if (substring.length >
1) {
const
unichar ls = [substring
characterAtIndex:1];
const
int uc = ((hs - 0xd800) *
0x400) + (ls - 0xdc00) +
0x10000;
if (0x1d000 <= uc && uc <=
0x1f77f) {
returnValue =YES;
}
}
}else
if (substring.length >
1) {
const
unichar ls = [substring
characterAtIndex:1];
if (ls ==
0x20e3) {
returnValue =YES;
}
}else {
// non surrogate
if (0x2100 <= hs && hs <=
0x27ff) {
returnValue =YES;
}else
if (0x2B05 <= hs && hs <=
0x2b07) {
returnValue =YES;
}else
if (0x2934 <= hs && hs <=
0x2935) {
returnValue =YES;
}else
if (0x3297 <= hs && hs <=
0x3299) {
returnValue =YES;
}else
if (hs == 0xa9 || hs ==
0xae || hs == 0x303d || hs ==
0x3030 || hs == 0x2b55 || hs ==
0x2b1c || hs == 0x2b1b || hs ==
0x2b50) {
returnValue =YES;
}
}
}
}];
return returnValue;
}
#pragma Mark --- 过滤表情
- (NSString *)disable_emoji:(NSString *)text
{
NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:@"[^\\u0020-\\u007E\\u00A0-\\u00BE\\u2E80-\\uA4CF\\uF900-\\uFAFF\\uFE30-\\uFE4F\\uFF00-\\uFFEF\\u0080-\\u009F\\u2000-\\u201f\r\n]"
options:NSRegularExpressionCaseInsensitive
error:nil];
NSString *modifiedString = [regex
stringByReplacingMatchesInString:text
options:0
range:NSMakeRange(0, [text
length])
withTemplate:@""];
return modifiedString;
}
//增加右键发表保存按钮
-(void)createRightBtn{
UIButton *btn = [UIButton
buttonWithType:UIButtonTypeCustom];
btn.frame =
CGRectMake(0,
0, 40,
20);
[btn setTitle:@"完成"
forState:UIControlStateNormal];
[btn setFont:[UIFont
systemFontOfSize:KTitle]];
[btn addTarget:self
action:@selector(rightBtnClicked)
forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *item = [[UIBarButtonItem
alloc]initWithCustomView:btn];
self.navigationItem.rightBarButtonItem =
item;
}
-(void)rightBtnClicked{
NSString *urlStr = [NSString
stringWithFormat:KmodifyFriendNameRemark];
if ([_nameField.text
length] < 21 && [_nameField.text
length]>=1) {
[self
setCustomizedClubInfoRequest:urlStr];
}else
if ([_nameField.text
length]==0)
{
// UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"提示" message:@"不能为空"
delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
// [alertView show];
[self
setCustomizedClubInfoRequest:urlStr];
}
else
{
UIAlertView *alertView = [[UIAlertView
alloc]initWithTitle:@"提示"
message:@"超过字符限制"
delegate:self
cancelButtonTitle:@"确定"
otherButtonTitles:nil,
nil];
[alertView show];
}
}
-(void)setCustomizedClubInfoRequest:(id)sender
{
AFHTTPRequestOperationManager *man = [AFHTTPRequestOperationManager
manager];
man.responseSerializer = [AFHTTPResponseSerializer
serializer];
man.requestSerializer = [AFJSONRequestSerializer
serializer];//用json格式来上传参数
NSString *paraString = [MD5
encodeString:_nameField.text];
NSMutableDictionary *param = [NSMutableDictionary
dictionary];
[param setValue:KmemberId
forKey:@"memberId"];
[param setValue:self.friendIDStr
forKey:@"friendId"];
[param setValue:_nameField.text
forKey:@"nameRemark"];
[param setValue:KAPPID
forKey:@"appId"];
[param setValue:KappSecret
forKey:@"appSecret"];
[param setValue:[CommonTools
getTimeScamp] forKey:@"timestamp"];
[param setValue:[CommonTools
tokenmd5StringFromArray:@[[NSString
stringWithFormat:@"memberId%@",param[@"memberId"]],[NSString
stringWithFormat:@"friendId%@",param[@"friendId"]],[NSString
stringWithFormat:@"nameRemark%@",paraString],[NSString
stringWithFormat:@"appId%@",param[@"appId"]],[NSString
stringWithFormat:@"appSecret%@",param[@"appSecret"]],[NSString
stringWithFormat:@"timestamp%@",param[@"timestamp"]]]]
forKey:@"digest"];
[man POST:sender
parameters:param
success:^(AFHTTPRequestOperation *operation,
id responseObject) {
NSDictionary *dict = [NSJSONSerialization
JSONObjectWithData:responseObject
options:NSJSONReadingMutableContainers
error:nil];
DSLog(@"--------dict------%@",dict);
if ([dict[@"returnCode"]integerValue]==000000)
{
[WFHudView
showMsg:@"好友备注修改成功!"
inView:nil];
[UserModel
sharedInstance].isAddFriends =
@"modifyFriendNameRemark";
[[NSNotificationCenter
defaultCenter]postNotificationName:@"AgreeMentAddFriend"
object:nil];
if (self.searchType ==
1) {
[self
dismissViewControllerAnimated:NO
completion:nil];
}else{
[self.navigationController
popViewControllerAnimated:NO];
}
}else{
[WFHudView
showMsg:@"好友备注修改失败!"
inView:nil];
}
} failure:^(AFHTTPRequestOperation *operation,
NSError *error) {
NSLog(@"error %@",error);
}];
}
-(void)createBackBtn{
//自定义导航栏
UIImageView *navImgView = [[UIImageView
alloc]initWithFrame:CGRectMake(0,
0, IPHONE_WIDTH,
64)];
navImgView.image = [UIImage
imageNamed:@"top_bg"];
[self.view
addSubview:navImgView];
//自定义导航栏标题
self.titleLabel = [[UILabel
alloc]initWithFrame:CGRectMake(IPHONE_WIDTH/2-100,
5 ,
200, 64)];
self.titleLabel.text =
@"备注信息";
self.titleLabel.backgroundColor
= [UIColor clearColor];
//设置Label背景透明
self.titleLabel.font
= [UIFont
boldSystemFontOfSize:KTitle];
//设置文本字体与大小
self.titleLabel.textColor =
[UIColor whiteColor];
//设置文本颜色
self.titleLabel.textAlignment
= NSTextAlignmentCenter;
[self.view
addSubview:self.titleLabel];
//返回键
UIButton *backBtn = [UIButton
buttonWithType:UIButtonTypeCustom];
backBtn.frame =
CGRectMake(6,
64/7 +
6, 40,
64*5/7);
[backBtn setImage:[UIImage
imageNamed:@"title_bar_back"]
forState:UIControlStateNormal];
[backBtn addTarget:self
action:@selector(popViewController)
forControlEvents:UIControlEventTouchUpInside];
[self.view
addSubview:backBtn];
UIButton *btn = [UIButton
buttonWithType:UIButtonTypeCustom];
btn.frame =
CGRectMake(IPHONE_WIDTH -
60, 27,
40, 20);
[btn setTitle:@"完成"
forState:UIControlStateNormal];
btn.titleLabel.font = [UIFont
systemFontOfSize:16];
// btn.titleLabel.textColor = [UIColor redColor];
// [btn setFont:[UIFont systemFontOfSize:KTitle]];
[btn addTarget:self
action:@selector(rightBtnClicked)
forControlEvents:UIControlEventTouchUpInside];
[self.view
addSubview:btn];
}
//创建返回按钮
-(void)creatBackItem{
// CGFloat frameY = 0.0f;
UIBarButtonItem * leftItem =
nil;
if ([[[UIDevice
currentDevice] systemVersion]
floatValue] >= 7) {
// frameY = 0.0f;
leftItem = [[UIBarButtonItem
alloc] initWithImage:[[UIImage
imageNamed:@"title_bar_back"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
style:UIBarButtonItemStyleDone
target:self
action:@selector(returnClicked)];
} else {
// frameY = 0.0f;
leftItem = [[UIBarButtonItem
alloc] initWithImage:[UIImage
imageNamed:@"title_bar_back"]
style:UIBarButtonItemStyleDone
target:self
action:@selector(returnClicked)];
}
self.navigationItem.leftBarButtonItem = leftItem;
}
-(void)returnClicked {
[self.navigationController
popViewControllerAnimated:NO];
}
- (void)didReceiveMemoryWarning {
[super
didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
// SetNoteViewController.h
// HengTaiXinGolf
//
// Created by 欧阳荣 on 16/3/17.
// Copyright © 2016年 HengTaiXinGolf. All rights reserved.
//
#import "ParentsViewController.h"
@interface SetNoteViewController :
ParentsViewController
@property (nonatomic,strong)
UILabel * titleLabel;
@property (nonatomic)
int searchType;
@property (nonatomic,copy)
NSString *NameField;
@property (nonatomic,copy)
NSString * friendIDStr;
@end
//
// SetNoteViewController.m
// HengTaiXinGolf
//
// Created by 欧阳荣 on 16/3/17.
// Copyright © 2016年 HengTaiXinGolf. All rights reserved.
//
#import "SetNoteViewController.h"
#define kHZMaxLength 15
#define kEGMaxLength 15
@interface
SetNoteViewController ()
@end
@implementation SetNoteViewController
{
UITextField * _nameField;
}
-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle
*)nibBundleOrNil
{
self = [super
initWithNibName:(NSString *)nibNameOrNil
bundle:(NSBundle *)nibBundleOrNil];
if (self)
{
//[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navBar.png"] forBarMetrics:UIBarMetricsDefault];
UILabel *titleLabel = [[UILabel
alloc]initWithFrame:CGRectMake(0,
0 , 100,
44)];
titleLabel.backgroundColor = [UIColor
clearColor]; //设置Label背景透明
titleLabel.font = [UIFont
boldSystemFontOfSize:KTitle];
//设置文本字体与大小
titleLabel.textColor = [UIColor
whiteColor]; //设置文本颜色
titleLabel.textAlignment =
NSTextAlignmentCenter;
titleLabel.text =
@"备注信息";
//设置标题
self.navigationItem.titleView = titleLabel;
}
return
self;
}
- (void)viewDidLoad {
[super
viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor=kColor(234,
234,
243);
if (self.searchType ==
1) {
[self
createBackBtn];
}else{
[self
creatBackItem];
[self
createRightBtn];
}
[self
creatSaveView];
}
//增加修改框
-(void)creatSaveView{
UILabel * lab = [[UILabel
alloc]init];
if (self.searchType ==
1) {
lab.frame =
CGRectMake(14,
8 * KWIDTH +
64, IPHONE_WIDTH -
100, 16 *
KWIDTH);
}else{
lab.frame =
CGRectMake(14,
8 * KWIDTH,
IPHONE_WIDTH - 100,
16 * KWIDTH);
}
lab.text =
@"备注名";
lab.font = [UIFont
systemFontOfSize:14];
lab.textColor =
kColor(137,
137, 137);
[self.view
addSubview:lab];
UIView *view=[[UIView
alloc] init];
if (self.searchType ==
1) {
view.frame =
CGRectMake(0,
32*KWIDTH +
64, IPHONE_WIDTH,
40*KWIDTH);
}else{
view.frame =
CGRectMake(0,
32*KWIDTH,
IPHONE_WIDTH, 40*KWIDTH);
}
UIView *lineViewlight3=[[UIView
alloc] initWithFrame:CGRectMake(0,0,
IPHONE_WIDTH, 0.5)];
lineViewlight3.backgroundColor=kColor(200,200
, 200);
lineViewlight3.alpha=0.8;
[view addSubview:lineViewlight3];
UIView *lineViewlight4=[[UIView
alloc] initWithFrame:CGRectMake(0,
40*KWIDTH-0.5,
IPHONE_WIDTH, 0.5)];
lineViewlight4.backgroundColor=kColor(200,200
, 200);
lineViewlight4.alpha=0.7;
[view addSubview:lineViewlight4];
view.backgroundColor=[UIColor
whiteColor];
_nameField = [[UITextField
alloc]initWithFrame:CGRectMake(10*KWIDTH,
0, IPHONE_WIDTH-15*KWIDTH,
40*KWIDTH)];
_nameField.text =
self.NameField;
_nameField.borderStyle =
UITextBorderStyleNone;
_nameField.clearButtonMode=
UITextFieldViewModeAlways;
[[NSNotificationCenter
defaultCenter]addObserver:self
selector:@selector(textFiledEditChanged:)
name:@"UITextFieldTextDidChangeNotification"
object:_nameField];
[view addSubview:_nameField];
[self.view
addSubview:view];
}
-(void)textFiledEditChanged:(NSNotification*)obj{
UITextField *textField = (UITextField *)obj.object;
//过滤掉系统表情
// UITextView * textView;
//
// NSRange textRange = [textView selectedRange];
// [textView setText:[self disable_emoji:[textView text]]];
// [textView setSelectedRange:textRange];
NSString *toBeString = textField.text;
DSLog(@"-----toBeString 1 ----%@",toBeString);
BOOL isEmoj = [self
stringContainsEmoji:toBeString];
NSString * _showStr;
toBeString = [self
disable_emoji:toBeString];
// textField.text = toBeString;
DSLog(@"-----toBeString 2 -----%@",toBeString);
NSString *lang = [[UITextInputMode
currentInputMode]
primaryLanguage]; //
键盘输入模式
if([lang
isEqualToString:@"zh-Hans"]) {
//简体中文输入,包括简体拼音,健体五笔,简体手写
UITextRange *selectedRange = [textField
markedTextRange];
//获取高亮部分
UITextPosition *position = [textField
positionFromPosition:selectedRange.start
offset:0];
//没有高亮选择的字,则对已输入的文字进行字数统计和限制
if(!position) {
if(toBeString.length >
kHZMaxLength) {
textField.text = [toBeString
substringToIndex:kHZMaxLength];
_showStr = [toBeString substringToIndex:kHZMaxLength];
}
}
//有高亮选择的字符串,则暂不对文字进行统计和限制
else{
}
}
//中文输入法以外的直接对其统计限制即可,不考虑其他语种情况
else{
if(toBeString.length >
kEGMaxLength) {
textField.text= [toBeString
substringToIndex:kEGMaxLength];
_showStr = [toBeString substringToIndex:kEGMaxLength];
}
}
DSLog(@" _showStr %@",_showStr);
if (isEmoj) {
if ([_showStr
length]) {
textField.text = _showStr;
}else{
textField.text = toBeString;
}
}
}
//判断NSString字符串是否包含emoji表情
- (BOOL)stringContainsEmoji:(NSString *)string
{
__block
BOOL returnValue =NO;
[string enumerateSubstringsInRange:NSMakeRange(0,
[string length])
options:NSStringEnumerationByComposedCharacterSequences
usingBlock:^(NSString *substring,
NSRange substringRange,
NSRange enclosingRange,
BOOL *stop) {
const
unichar hs = [substring
characterAtIndex:0];
// surrogate pair
if (0xd800) {
if (0xd800 <= hs && hs <=
0xdbff) {
if (substring.length >
1) {
const
unichar ls = [substring
characterAtIndex:1];
const
int uc = ((hs - 0xd800) *
0x400) + (ls - 0xdc00) +
0x10000;
if (0x1d000 <= uc && uc <=
0x1f77f) {
returnValue =YES;
}
}
}else
if (substring.length >
1) {
const
unichar ls = [substring
characterAtIndex:1];
if (ls ==
0x20e3) {
returnValue =YES;
}
}else {
// non surrogate
if (0x2100 <= hs && hs <=
0x27ff) {
returnValue =YES;
}else
if (0x2B05 <= hs && hs <=
0x2b07) {
returnValue =YES;
}else
if (0x2934 <= hs && hs <=
0x2935) {
returnValue =YES;
}else
if (0x3297 <= hs && hs <=
0x3299) {
returnValue =YES;
}else
if (hs == 0xa9 || hs ==
0xae || hs == 0x303d || hs ==
0x3030 || hs == 0x2b55 || hs ==
0x2b1c || hs == 0x2b1b || hs ==
0x2b50) {
returnValue =YES;
}
}
}
}];
return returnValue;
}
#pragma Mark --- 过滤表情
- (NSString *)disable_emoji:(NSString *)text
{
NSRegularExpression *regex = [NSRegularExpression
regularExpressionWithPattern:@"[^\\u0020-\\u007E\\u00A0-\\u00BE\\u2E80-\\uA4CF\\uF900-\\uFAFF\\uFE30-\\uFE4F\\uFF00-\\uFFEF\\u0080-\\u009F\\u2000-\\u201f\r\n]"
options:NSRegularExpressionCaseInsensitive
error:nil];
NSString *modifiedString = [regex
stringByReplacingMatchesInString:text
options:0
range:NSMakeRange(0, [text
length])
withTemplate:@""];
return modifiedString;
}
//增加右键发表保存按钮
-(void)createRightBtn{
UIButton *btn = [UIButton
buttonWithType:UIButtonTypeCustom];
btn.frame =
CGRectMake(0,
0, 40,
20);
[btn setTitle:@"完成"
forState:UIControlStateNormal];
[btn setFont:[UIFont
systemFontOfSize:KTitle]];
[btn addTarget:self
action:@selector(rightBtnClicked)
forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *item = [[UIBarButtonItem
alloc]initWithCustomView:btn];
self.navigationItem.rightBarButtonItem =
item;
}
-(void)rightBtnClicked{
NSString *urlStr = [NSString
stringWithFormat:KmodifyFriendNameRemark];
if ([_nameField.text
length] < 21 && [_nameField.text
length]>=1) {
[self
setCustomizedClubInfoRequest:urlStr];
}else
if ([_nameField.text
length]==0)
{
// UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"提示" message:@"不能为空"
delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
// [alertView show];
[self
setCustomizedClubInfoRequest:urlStr];
}
else
{
UIAlertView *alertView = [[UIAlertView
alloc]initWithTitle:@"提示"
message:@"超过字符限制"
delegate:self
cancelButtonTitle:@"确定"
otherButtonTitles:nil,
nil];
[alertView show];
}
}
-(void)setCustomizedClubInfoRequest:(id)sender
{
AFHTTPRequestOperationManager *man = [AFHTTPRequestOperationManager
manager];
man.responseSerializer = [AFHTTPResponseSerializer
serializer];
man.requestSerializer = [AFJSONRequestSerializer
serializer];//用json格式来上传参数
NSString *paraString = [MD5
encodeString:_nameField.text];
NSMutableDictionary *param = [NSMutableDictionary
dictionary];
[param setValue:KmemberId
forKey:@"memberId"];
[param setValue:self.friendIDStr
forKey:@"friendId"];
[param setValue:_nameField.text
forKey:@"nameRemark"];
[param setValue:KAPPID
forKey:@"appId"];
[param setValue:KappSecret
forKey:@"appSecret"];
[param setValue:[CommonTools
getTimeScamp] forKey:@"timestamp"];
[param setValue:[CommonTools
tokenmd5StringFromArray:@[[NSString
stringWithFormat:@"memberId%@",param[@"memberId"]],[NSString
stringWithFormat:@"friendId%@",param[@"friendId"]],[NSString
stringWithFormat:@"nameRemark%@",paraString],[NSString
stringWithFormat:@"appId%@",param[@"appId"]],[NSString
stringWithFormat:@"appSecret%@",param[@"appSecret"]],[NSString
stringWithFormat:@"timestamp%@",param[@"timestamp"]]]]
forKey:@"digest"];
[man POST:sender
parameters:param
success:^(AFHTTPRequestOperation *operation,
id responseObject) {
NSDictionary *dict = [NSJSONSerialization
JSONObjectWithData:responseObject
options:NSJSONReadingMutableContainers
error:nil];
DSLog(@"--------dict------%@",dict);
if ([dict[@"returnCode"]integerValue]==000000)
{
[WFHudView
showMsg:@"好友备注修改成功!"
inView:nil];
[UserModel
sharedInstance].isAddFriends =
@"modifyFriendNameRemark";
[[NSNotificationCenter
defaultCenter]postNotificationName:@"AgreeMentAddFriend"
object:nil];
if (self.searchType ==
1) {
[self
dismissViewControllerAnimated:NO
completion:nil];
}else{
[self.navigationController
popViewControllerAnimated:NO];
}
}else{
[WFHudView
showMsg:@"好友备注修改失败!"
inView:nil];
}
} failure:^(AFHTTPRequestOperation *operation,
NSError *error) {
NSLog(@"error %@",error);
}];
}
-(void)createBackBtn{
//自定义导航栏
UIImageView *navImgView = [[UIImageView
alloc]initWithFrame:CGRectMake(0,
0, IPHONE_WIDTH,
64)];
navImgView.image = [UIImage
imageNamed:@"top_bg"];
[self.view
addSubview:navImgView];
//自定义导航栏标题
self.titleLabel = [[UILabel
alloc]initWithFrame:CGRectMake(IPHONE_WIDTH/2-100,
5 ,
200, 64)];
self.titleLabel.text =
@"备注信息";
self.titleLabel.backgroundColor
= [UIColor clearColor];
//设置Label背景透明
self.titleLabel.font
= [UIFont
boldSystemFontOfSize:KTitle];
//设置文本字体与大小
self.titleLabel.textColor =
[UIColor whiteColor];
//设置文本颜色
self.titleLabel.textAlignment
= NSTextAlignmentCenter;
[self.view
addSubview:self.titleLabel];
//返回键
UIButton *backBtn = [UIButton
buttonWithType:UIButtonTypeCustom];
backBtn.frame =
CGRectMake(6,
64/7 +
6, 40,
64*5/7);
[backBtn setImage:[UIImage
imageNamed:@"title_bar_back"]
forState:UIControlStateNormal];
[backBtn addTarget:self
action:@selector(popViewController)
forControlEvents:UIControlEventTouchUpInside];
[self.view
addSubview:backBtn];
UIButton *btn = [UIButton
buttonWithType:UIButtonTypeCustom];
btn.frame =
CGRectMake(IPHONE_WIDTH -
60, 27,
40, 20);
[btn setTitle:@"完成"
forState:UIControlStateNormal];
btn.titleLabel.font = [UIFont
systemFontOfSize:16];
// btn.titleLabel.textColor = [UIColor redColor];
// [btn setFont:[UIFont systemFontOfSize:KTitle]];
[btn addTarget:self
action:@selector(rightBtnClicked)
forControlEvents:UIControlEventTouchUpInside];
[self.view
addSubview:btn];
}
//创建返回按钮
-(void)creatBackItem{
// CGFloat frameY = 0.0f;
UIBarButtonItem * leftItem =
nil;
if ([[[UIDevice
currentDevice] systemVersion]
floatValue] >= 7) {
// frameY = 0.0f;
leftItem = [[UIBarButtonItem
alloc] initWithImage:[[UIImage
imageNamed:@"title_bar_back"]
imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
style:UIBarButtonItemStyleDone
target:self
action:@selector(returnClicked)];
} else {
// frameY = 0.0f;
leftItem = [[UIBarButtonItem
alloc] initWithImage:[UIImage
imageNamed:@"title_bar_back"]
style:UIBarButtonItemStyleDone
target:self
action:@selector(returnClicked)];
}
self.navigationItem.leftBarButtonItem = leftItem;
}
-(void)returnClicked {
[self.navigationController
popViewControllerAnimated:NO];
}
- (void)didReceiveMemoryWarning {
[super
didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
相关文章推荐
- PHP-include和require
- 【问题】Failed to send producer request with correlation id 2 to broker 0 with
- UVALive 6195 —— The Dueling Philosophers Problem
- Map很多Key-Value对应是可以此来处理!
- UITableView 总结
- 界面编程与视图(view)组件——三种UI界面开发方式
- Android设计模式之建造者模式(Builder Pattern)
- Android问题集锦之二十九:Cannot run program "/xx/build-tools/xx/aapt": error=2, No such file or directory
- 核心动画的简单理解
- 限制一个UITextField的输入字数
- Android issues
- java之Symmetric encryption techniques
- IOS开发之UIView总结
- Jersey(1.19.1) - Building Responses
- ngui中scrollview的使用
- 解决sui的Form表单验证回调问题
- UI 开发
- UIView中的坐标转换
- UI 开发
- SSM+EasyUI