美文网首页
写UI的时候常用到的一下方法

写UI的时候常用到的一下方法

作者: CY水漆 | 来源:发表于2017-11-28 14:19 被阅读0次

自己做项目的时候用到的一些方法,有时候懒得查,我可以自己来这看看

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 

相关文章

网友评论

      本文标题:写UI的时候常用到的一下方法

      本文链接:https://www.haomeiwen.com/subject/krbubxtx.html