自己做项目的时候用到的一些方法,有时候懒得查,我可以自己来这看看
1*************///添加覆盖整个屏幕的view,这个是根据添加的控件位置自己改变大小的,自己无法控制frame的大小
[[UIApplication sharedApplication].keyWindow addSubview:自己创建的view];
2*************///添加边框
控件名.layer.borderColor = [UIColor lightGrayColor].CGColor;
控件名.layer.borderWidth = 0.5;
3*************///改变原角度
_cfNameField.layer.cornerRadius = 5.0;
dailiTextLab.clipsToBounds = YES;
4*************///tableview一些属性
tableView.userInteractionEnabled = NO;禁止tableview滑动
.showsVerticalScrollIndicator = NO;//隐藏竖滚动条
6***********隐藏cell分割线
_leftTableview.separatorStyle = UITableViewCellSeparatorStyleNone;/** 去除tableview 右侧滚动条 */ _tableView.showsVerticalScrollIndicator = NO;/** 去掉分割线 */_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
8*************///cell点击闪一下,
self.TravelTableview.separatorStyle = UITableViewCellSeparatorStyleNone;
// 隐藏显示导航条
[self setFd_prefersNavigationBarHidden:NO];
7**************///导航栏设置为不透明
self.edgesForExtendedLayout = UIRectEdgeNone;
9***************图片设置成圆的
_orderIamge.layer.cornerRadius = 12; //12是图片的边长的一半
_orderIamge.layer.masksToBounds=YES;
10****************把特定的控件放在最上层
[self.view bringSubViewToFront:subView];
11**************** 查找各种正则表达式各种正则判断
12****************//button文字居左显示和距做像素
_fangshiBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
_fangshiBtn.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
13****************//iOS 10.3以后label的删除线方法
NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@"原价%ld",(long)model.scGoodOgiprice]];
[attrStr addAttributes:@{NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle),NSBaselineOffsetAttributeName:@(0)} range:NSMakeRange(0, attrStr.length)];
[self.originalPriceLabel setAttributedText:attrStr];
14*****************电话号码中间四位显示星号
_phoneNumLabel.text = [_profileinfo.user.userMobile stringByReplacingCharactersInRange:NSMakeRange(3, 4) withString:@"****"];
15*******计算并定义label的高度
方法一
NSMutableParagraphStyle *paragraphstyle=[[NSMutableParagraphStyle alloc]init];
paragraphstyle.lineBreakMode=NSLineBreakByCharWrapping;
NSDictionary *dic=@{NSFontAttributeName:self.titleLabel.font,NSParagraphStyleAttributeName:paragraphstyle.copy};
//NSDictionary *dic=@{NSFontAttributeName:self.label.font};
CGRect rect=[self.titleLabel.text boundingRectWithSize:CGSizeMake(self.frame.size.width, self.frame.size.height) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil];
_titleLabel.frame = CGRectMake(141, 14, 190,rect.size.height);
方法二
_goodsTitle.text = [NSString stringWithFormat:@"%@",model.goods_name]; CGSize lblSize = [_goodsTitle.text boundingRectWithSize:CGSizeMake(self.contentView.width-60, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:11]} context:nil].size;// _goodsTitle.frame = CGRectMake(10, 100, lblSize.width, lblSize.height); _goodsTitle.frame = CGRectMake(CGRectGetMaxX(_ziyingTitle.frame)+5, CGRectGetMaxY(_goodsImg.frame) + 12, lblSize.width, lblSize.height);
16慢慢弹出view的动画效果
[UIView animateWithDuration:0.3 animations:^{
_goodsGuigeViews.frame = CGRectMake(0, SCREENHEIGHT-500, SCREENWIDTH, 500);
}];
17,传递子控件的点击事件传递到父控件上,常见的用法当控件角上有一个X号按钮时
//重写hitTest方法,去监听发布按钮的点击,目的是为了让凸出的部分点击也有反应- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { //这一个判断是关键,不判断的话push到其他页面,点击发布按钮的位置也是会有反应的,这样就不好了 //self.isHidden == NO 说明当前页面是有tabbar的,那么肯定是在导航控制器的根控制器页面 //在导航控制器根控制器页面,那么我们就需要判断手指点击的位置是否在发布按钮身上 //是的话让发布按钮自己处理点击事件,不是的话让系统去处理点击事件就可以了 if (self.isHidden == NO) { //将当前tabbar的触摸点转换坐标系,转换到发布按钮的身上,生成一个新的点 CGPoint newP = [self convertPoint:point toView:self.xBtn]; //判断如果这个新的点是在发布按钮身上,那么处理点击事件最合适的view就是发布按钮 if ( [self.xBtn pointInside:newP withEvent:event]) { return self.xBtn; }else{//如果点不在发布按钮身上,直接让系统处理就可以了 return [super hitTest:point withEvent:event]; } } else {//tabbar隐藏了,那么说明已经push到其他的页面了,这个时候还是让系统去判断最合适的view处理就好了 return [super hitTest:point withEvent:event]; }}
17 集成分享时要注意,shareSDK分享到微博时不能分享链接跳转,只能拼到text后面才能实现,友盟不知道是不是这样,后续查清楚
18 集成三方分享时 appkey在info.plist文件里写入后就不需要再在程序里初始化
学习和练习的时候可能用到的网站
1聚合数据 提供免费的接口
2 http://www.code4app.com











网友评论