iOS开发中一些实用方法的总结
2015-03-12 16:39
337 查看
1.可以防止多个按钮同时点击出现崩溃,这个是一次只能点击一个按钮的方法
button.ExclusiveTouch = yes ;
2.设置图片高保真的方法
imageVieww.clipsToBounds = yes;
imageView.contentMode = UIViewContentModeScaleAspectFill;
3.计算文本字体的宽度
lineImg.frame =CGRectMake(-1,
self.oldPrice.frame.size.height/2,
[selfwidthForLabel:self.oldPrice.text]+2,
0.5);
- (float)widthForLabel:(NSString *)aString
{
if(nil
== aString || [aStringisEqualToString:@""] || [aString
isEqualToString:@"null"] || [aString
isEqual:[NSNull null]])
{
return0;
}
else
{
CGSizesize = [aString
sizeWithFont:[UIFontsystemFontOfSize:13]
constrainedToSize:CGSizeMake(MAXFLOAT,15)];
returnsize.width;
}
4.手机号码和固话的正则表达式
// 判断手机或者电话号码是否正确
+ (BOOL) isValidateMobile:(NSString *)mobile
{
//手机号以13, 15,18开头,八个
\d 数字字符
NSString *phoneRegex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];
//固话不加区号的
NSString * CT1 = @"^(0[0-9]{2,3}/-)?([2-9][0-9]{6,7})+(/-[0-9]{1,4})?$";
NSPredicate *regextestct1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT1];
//固话加区号的
NSString * CT2 = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";
NSPredicate *regextestct2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT2];
if ([phoneTest evaluateWithObject:mobile] || [regextestct1 evaluateWithObject:mobile] || [regextestct2 evaluateWithObject:mobile])
{
return YES;
}
else
{
return NO;
}
}
5.字体高度
UILabel *label = [[UILabelalloc]
initWithFrame:CGRectMake(0,100,
self.view.frame.size.width,200)];
[label setBackgroundColor:[UIColorblackColor]];
[label setTextColor:[UIColorwhiteColor]];
[label setNumberOfLines:0];
NSString*labelText =
@"可以自己按照宽高,字体大小,来计算有多少行。。然后。。。每行画一个UILabel。。高度自己可以控制把这个写一个自定义的类。";
NSMutableAttributedString*attributedString = [[NSMutableAttributedStringalloc]
initWithString:labelText];
NSMutableParagraphStyle*paragraphStyle = [[NSMutableParagraphStylealloc]
init];
[paragraphStyle setLineSpacing:200];//调整行间距
[attributedString addAttribute:NSParagraphStyleAttributeNamevalue:paragraphStyle
range:NSMakeRange(0, [labelTextlength])];
label.attributedText = attributedString;
[self.view addSubview:label];
[label sizeToFit];
6.分页
intpage =
1;
if(isRefreshing) {
page = 1;
}
else{
if(self.items.count%MM_PER_PAGE_SIZE
!= 0) {
[systemMessageTableView endRefreshingAndReloadData];
return;
}
else{
page = (int)self.items.count/MM_PER_PAGE_SIZE+1;
}
}
7. 代理的正确写法
if(_delegate
&& [_delegaterespondsToSelector:@selector(GesPasswordViewLoginPassed:)]) {
[self.delegate GesPasswordViewLoginPassed:self];
8.tableView进去默认选中第一个
[_leftTableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionNone];
9.MBProgressHUD 的gitHub网址(非常好用)
https://github.com/jdg/MBProgressHUD
}
10.判断输入金额为正数,或者保留小数点后面两位的正则
- (BOOL) isValidateNumber:(NSString
*)number
{
NSString *phoneRegex =
@"[0-9]*[1-9][0-9]*";
NSPredicate *phoneTest = [NSPredicate
predicateWithFormat:@"SELF MATCHES %@",phoneRegex];
NSString *phoneRegex1 =
@"^(([1-9]+)|([0-9]+\.[0-9]{1,2}))$";
NSPredicate *phoneTest1 = [NSPredicate
predicateWithFormat:@"SELF MATCHES %@",phoneRegex1];
if ([phoneTest
evaluateWithObject:number] || [phoneTest1
evaluateWithObject:number])
{
return
YES;
}
else
{
return
NO;
}
}
button.ExclusiveTouch = yes ;
2.设置图片高保真的方法
imageVieww.clipsToBounds = yes;
imageView.contentMode = UIViewContentModeScaleAspectFill;
3.计算文本字体的宽度
lineImg.frame =CGRectMake(-1,
self.oldPrice.frame.size.height/2,
[selfwidthForLabel:self.oldPrice.text]+2,
0.5);
- (float)widthForLabel:(NSString *)aString
{
if(nil
== aString || [aStringisEqualToString:@""] || [aString
isEqualToString:@"null"] || [aString
isEqual:[NSNull null]])
{
return0;
}
else
{
CGSizesize = [aString
sizeWithFont:[UIFontsystemFontOfSize:13]
constrainedToSize:CGSizeMake(MAXFLOAT,15)];
returnsize.width;
}
4.手机号码和固话的正则表达式
// 判断手机或者电话号码是否正确
+ (BOOL) isValidateMobile:(NSString *)mobile
{
//手机号以13, 15,18开头,八个
\d 数字字符
NSString *phoneRegex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];
//固话不加区号的
NSString * CT1 = @"^(0[0-9]{2,3}/-)?([2-9][0-9]{6,7})+(/-[0-9]{1,4})?$";
NSPredicate *regextestct1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT1];
//固话加区号的
NSString * CT2 = @"^0(10|2[0-5789]|\\d{3})\\d{7,8}$";
NSPredicate *regextestct2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT2];
if ([phoneTest evaluateWithObject:mobile] || [regextestct1 evaluateWithObject:mobile] || [regextestct2 evaluateWithObject:mobile])
{
return YES;
}
else
{
return NO;
}
}
5.字体高度
UILabel *label = [[UILabelalloc]
initWithFrame:CGRectMake(0,100,
self.view.frame.size.width,200)];
[label setBackgroundColor:[UIColorblackColor]];
[label setTextColor:[UIColorwhiteColor]];
[label setNumberOfLines:0];
NSString*labelText =
@"可以自己按照宽高,字体大小,来计算有多少行。。然后。。。每行画一个UILabel。。高度自己可以控制把这个写一个自定义的类。";
NSMutableAttributedString*attributedString = [[NSMutableAttributedStringalloc]
initWithString:labelText];
NSMutableParagraphStyle*paragraphStyle = [[NSMutableParagraphStylealloc]
init];
[paragraphStyle setLineSpacing:200];//调整行间距
[attributedString addAttribute:NSParagraphStyleAttributeNamevalue:paragraphStyle
range:NSMakeRange(0, [labelTextlength])];
label.attributedText = attributedString;
[self.view addSubview:label];
[label sizeToFit];
6.分页
intpage =
1;
if(isRefreshing) {
page = 1;
}
else{
if(self.items.count%MM_PER_PAGE_SIZE
!= 0) {
[systemMessageTableView endRefreshingAndReloadData];
return;
}
else{
page = (int)self.items.count/MM_PER_PAGE_SIZE+1;
}
}
7. 代理的正确写法
if(_delegate
&& [_delegaterespondsToSelector:@selector(GesPasswordViewLoginPassed:)]) {
[self.delegate GesPasswordViewLoginPassed:self];
8.tableView进去默认选中第一个
[_leftTableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionNone];
9.MBProgressHUD 的gitHub网址(非常好用)
https://github.com/jdg/MBProgressHUD
}
10.判断输入金额为正数,或者保留小数点后面两位的正则
- (BOOL) isValidateNumber:(NSString
*)number
{
NSString *phoneRegex =
@"[0-9]*[1-9][0-9]*";
NSPredicate *phoneTest = [NSPredicate
predicateWithFormat:@"SELF MATCHES %@",phoneRegex];
NSString *phoneRegex1 =
@"^(([1-9]+)|([0-9]+\.[0-9]{1,2}))$";
NSPredicate *phoneTest1 = [NSPredicate
predicateWithFormat:@"SELF MATCHES %@",phoneRegex1];
if ([phoneTest
evaluateWithObject:number] || [phoneTest1
evaluateWithObject:number])
{
return
YES;
}
else
{
return
NO;
}
}
相关文章推荐
- iOS开发 - runtime运行时一些实用方法
- IOS 开发中的一些实用公共方法
- iOS开发中一些重要的系统方法使用注意事项总结
- iOS开发之一些实用小知识点总结
- iOS 开发中一些常用到的代码/方法总结
- 【iOS开发】 iOS打包ipa的四种实用方法(.app转.ipa)
- iOS开发之UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
- 开发中常用的Jquery的一些方法的总结
- iOS开发隐藏键盘方法总结
- iOS开发遍历集合(NSArray,NSDictionary、NSSet)方法总结
- iOS开发 GCD一些常用的方法
- iOS开发之-收集的不常用却实用的小方法和技巧
- iOS开发-UI高级 选中按钮的实现方法总结
- iOS开发之-收集的不常用却实用的小方法和技巧
- iOS一些实用小技巧总结
- ios开发之小总结「类与对象的判断方法和遍历字典的方法」
- ios开发总结:Utils常用方法等收集,添加扩展类,工具类方法,拥有很多方便快捷功能(不断更新中。。。)
- 项目开发中遇到的一些有用类或方法的总结
- 【转】iOS开发-关闭/收起键盘方法总结