- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[_contactTextFiled resignFirstResponder];
return YES;
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
if([text isEqualToString:@"\n"]){
[textView resignFirstResponder];
[_contactTextFiled becomeFirstResponder];
return YES;
}
return YES;
}
makeObjectsPerformSelector:
函数。这个函数可以在很多场景下使用从而简化代码。[xxxView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
[UIView setAnimationsEnabled:NO];
[_listTable beginUpdates];
[_listTable reloadSections:[NSIndexSet indexSetWithIndex:indexPath.section] withRowAnimation:UITableViewRowAnimationNone];
[_listTable endUpdates];
[UIView setAnimationsEnabled:YES];
每日更新关注:http://weibo.com/hanjunqiang 新浪微博!
UIView *myCustomView = [[UIView alloc]initWithFrame:CGRectMake(0, 204,kScreenWidth, 120)];
myCustomView.backgroundColor = [UIColor whiteColor];
[view addSubview:myCustomView];
UIBezierPath *bezierPath = [UIBezierPath bezierPath];
[bezierPath moveToPoint:CGPointMake(0,0)];
[bezierPath addCurveToPoint:CGPointMake(myCustomView.width, 0) controlPoint1:CGPointMake(0, 0) controlPoint2:CGPointMake(myCustomView.width/2, 40)];
[bezierPath addLineToPoint:CGPointMake(myCustomView.width, myCustomView.height)];
[bezierPath addLineToPoint:CGPointMake(0, myCustomView.height)];
[bezierPath closePath];
CAShapeLayer *shapLayer = [CAShapeLayer layer];
shapLayer.path = bezierPath.CGPath;
myCustomView.layer.mask = shapLayer;
myCustomView.layer.masksToBounds = YES;
每日更新关注:http://weibo.com/hanjunqiang 新浪微博!
- (void)hidesTabBar:(BOOL)hidden{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0];
for (UIView *view in self.tabBarController.view.subviews){
if ([view isKindOfClass:[UITabBar class]]) {
if (hidden) {
[view setFrame:CGRectMake(view.frame.origin.x, [UIScreen mainScreen].bounds.size.height, view.frame.size.width , view.frame.size.height)];
}else{
[view setFrame:CGRectMake(view.frame.origin.x, [UIScreen mainScreen].bounds.size.height - 49, view.frame.size.width, view.frame.size.height)];
}
}else{
if([view isKindOfClass:NSClassFromString(@"UITransitionView")]){
if (hidden){
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, [UIScreen mainScreen].bounds.size.height)];
}else{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, [UIScreen mainScreen].bounds.size.height - 49 )];
}
}
}
}
[UIView commitAnimations];
}
UIView *view = [sender superview]; // 获取父视图的view
GCCollectGroupCellTableViewCell *cell = (GCCollectGroupCellTableViewCell*)[view superview]; // 获取cell
NSIndexPath *indexPath = [_listTable indexPathForCell:cell]; // 获取cell对应的分区
NSLog(@"%@",detailArr[indexPath.section-1][indexPath.row][@"comname"]);
NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[_CompanyFileds.comname dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
_CompanyFileds.comname = attrStr.string;
// 注册监听
[[NSNotificationCenter defaultCenter]postNotificationName:UITextFieldTextDidChangeNotification object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(changeForKeyWord:) name:UITextFieldTextDidChangeNotification object:nil];
// 监听_pageTextField.text变化
- (void)changeForKeyWord:(NSNotification *)sender
{
[self checkNum:_pageTextField.text];
}
- (BOOL)checkNum:(NSString *)str
{
NSString *regex = @"^[0-9]+(.[0-9]{2})?$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isMatch = [pred evaluateWithObject:str];
if (!isMatch && _pageTextField.text.length>0) {
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:nil message:@"页码只能输入数字哦" delegate:self cancelButtonTitle:@"重新输入" otherButtonTitles:nil, nil];
alertView.delegate = self;
[alertView show];
return NO;
}
return YES;
}
[[NSNotificationCenter defaultCenter]postNotificationName:UITextFieldTextDidBeginEditingNotification object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(enterEdited:) name:UITextFieldTextDidBeginEditingNotification object:nil];
- (void)enterEdited:(NSNotification *)sender
{
事件写这里!希望帮到你!
}
//方法一:
#pragma mark--UIGestureRecognizerDelegate
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if([touch.view isKindOfClass:[UIButton class]]||[touch.view isKindOfClass:[UITableViewCell class]]||[touch.view isKindOfClass:[UITextField class]]||[touch.view isKindOfClass:[UITextView class]])
{
return NO;
}
return YES;
}
//方法二:
//UIView的exclusiveTouch属性
//通过设置[self setExclusiveTouch:YES];可以达到同一界面上多个控件接受事件时的排他性,从而避免一些问题。
//1. 设置的时候在ib里面记得选择无边框的,要不然随便你设置,都是无效的,也是坑死了。
_textBoxName.layer.borderWidth=1.0f;
_textBoxName.layer.borderColor=[UIColorcolorWithRed:0xbf/255.0fgreen:0xbf/255.0fblue:0xbf/255.0falpha:1].CGColor;
//2.在uitextfield 中文字最左边距离左侧边框的距离
_textBoxName.leftView=[[UIViewalloc] initWithFrame:CGRectMake(0,0, 16,51)];
_textBoxName.leftViewMode=UITextFieldViewModeAlways;
#pragma mark ----- 更新按钮动画
- (void)rotate360DegreeWithImageViews:(UIImageView *)myViews{
CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 ];
rotationAnimation.duration = 1.0;
rotationAnimation.cumulative = YES;rotate360DegreeWithImageViews
rotationAnimation.repeatCount = 100000;
[myViews.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
}
[myViews.layer removeAllAnimations]; // 停止
cell.selectedBackgroundView = [[UIView alloc] initWithFrame:cell.frame];
cell.selectedBackgroundView.backgroundColor = COLOR_BACKGROUNDVIEW;
不需要任何颜色可以这么设置:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
Objective-C拓展了C,自然很多用法是和C一致的。比如浮点数转化成整数,就有以下四种情况。
1.简单粗暴,直接转化
float f = 1.5; int a; a = (int)f; NSLog("a = %d",a);
输出结果是1。(int)是强制类型转化,丢弃浮点数的小数部分。
2.高斯函数,向下取整
float f = 1.6; int a; a = floor(f); NSLog("a = %d",a);
输出结果是1。floor()方法是向下取整,类似于数学中的高斯函数 [].取得不大于浮点数的最大整数,对于正数来说是舍弃浮点数部分,对于复数来说,舍弃浮点数部分后再减1.
3.ceil函数,向上取整。
float f = 1.5; int a; a = ceil(f); NSLog("a = %d",a);
输出结果是2。ceil()方法是向上取整,取得不小于浮点数的最小整数,对于正数来说是舍弃浮点数部分并加1,对于复数来说就是舍弃浮点数部分.
4.通过强制类型转换四舍五入。
float f = 1.5; int a; a = (int)(f+0.5); NSLog("a = %d",a);
iOS开发者交流QQ群: 446310206 欢迎加入!