当前位置: 首页 > news >正文

网站10月份可以做哪些有意思的专题网络销售管理条例

网站10月份可以做哪些有意思的专题,网络销售管理条例,怎样做类似淘宝的网站,wordpress安装显示404把我之前发布在简书的博客搬运过来。 目录 场景思路具体实现1. 自定义一个继承自UILabel的IrregularLabel2. 在初始化方法中进行相应初始化和设置3. 在layoutSubviews方法中进行路径的设置 最终效果箭头 label 场景 最近 App 改版,以下是截取的部分 UI 设计图&…

请添加图片描述

把我之前发布在简书的博客搬运过来。


目录

  • 场景
  • 思路
  • 具体实现
    • 1. 自定义一个继承自UILabel的IrregularLabel
    • 2. 在初始化方法中进行相应初始化和设置
    • 3. 在layoutSubviews方法中进行路径的设置
  • 最终效果
  • 箭头 label


场景

最近 App 改版,以下是截取的部分 UI 设计图:

其中有一个不规则的 label

这个 label 顶部的两个角是圆角,底部的两个角是直角,底部还有一个小三角。

思路

CAShapeLayer 联合 UIBezierPath 画一个不规则的 layer 作为 label.layermask

具体实现

1. 自定义一个继承自UILabel的IrregularLabel

#import "IrregularLabel.h"@interface IrregularLabel ()/** 遮罩 */
@property (nonatomic, strong) CAShapeLayer *maskLayer;
/** 路径 */
@property (nonatomic, strong) UIBezierPath *borderPath;@end

2. 在初始化方法中进行相应初始化和设置

- (instancetype)initWithFrame:(CGRect)frame {if (self = [super initWithFrame:frame]) {// 初始化遮罩self.maskLayer = [CAShapeLayer layer];// 设置遮罩[self.layer setMask:self.maskLayer];// 初始化路径self.borderPath = [UIBezierPath bezierPath];}return self;
}

3. 在layoutSubviews方法中进行路径的设置

- (void)layoutSubviews {[super layoutSubviews];// 遮罩层frameself.maskLayer.frame = self.bounds;// 设置path起点[self.borderPath moveToPoint:CGPointMake(0, 10)];// 左上角的圆角[self.borderPath addQuadCurveToPoint:CGPointMake(10, 0) controlPoint:CGPointMake(0, 0)];// 直线,到右上角[self.borderPath addLineToPoint:CGPointMake(self.bounds.size.width - 10, 0)];// 右上角的圆角[self.borderPath addQuadCurveToPoint:CGPointMake(self.bounds.size.width, 10) controlPoint:CGPointMake(self.bounds.size.width, 0)];// 直线,到右下角[self.borderPath addLineToPoint:CGPointMake(self.bounds.size.width, self.bounds.size.height)];// 底部的小三角形[self.borderPath addLineToPoint:CGPointMake(self.bounds.size.width/2+5, self.bounds.size.height)];[self.borderPath addLineToPoint:CGPointMake(self.bounds.size.width/2, self.bounds.size.height-5)];[self.borderPath addLineToPoint:CGPointMake(self.bounds.size.width/2 - 5, self.bounds.size.height)];// 直线,到左下角[self.borderPath addLineToPoint:CGPointMake(0, self.bounds.size.height)];// 直线,回到起点[self.borderPath addLineToPoint:CGPointMake(0, 10)];// 将这个path赋值给maskLayer的pathself.maskLayer.path = self.borderPath.CGPath;
}
  • 左上角的坐标是 (0,0)
  • 右下角的坐标是 (maxX,maxY)

圆角是用的二次贝塞尔曲线,关于二次贝塞尔曲线,我在网上看到一张比较形象的图:

3个点确定一个圆角。

最终效果

- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.self.label = [[IrregularLabel alloc] initWithFrame:CGRectMake(90, 200, 200, 40)];[self.view addSubview:self.label];self.label.text = @"这是一个不规则label";self.label.textAlignment = NSTextAlignmentCenter;self.label.backgroundColor = [UIColor redColor];self.label.textColor = [UIColor whiteColor];self.label.font = [UIFont boldSystemFontOfSize:16];
}

效果图:

在这里插入图片描述


箭头 label

有读者说要带箭头的 label:

在这里插入图片描述

其实思路是一样的:

- (void)layoutSubviews {[super layoutSubviews];// 遮罩层frameself.maskLayer.frame = self.bounds;// 设置path起点[self.borderPath moveToPoint:CGPointMake(0, 10)];// 箭头[self.borderPath addLineToPoint:CGPointMake(self.bounds.size.width/2-5, 10)];[self.borderPath addLineToPoint:CGPointMake(self.bounds.size.width/2, 0)];[self.borderPath addLineToPoint:CGPointMake(self.bounds.size.width/2+5, 10)];// 到右上角[self.borderPath addLineToPoint:CGPointMake(self.bounds.size.width, 10)];// 到右下角[self.borderPath addLineToPoint:CGPointMake(self.bounds.size.width, self.bounds.size.height)];// 到左下角[self.borderPath addLineToPoint:CGPointMake(0, self.bounds.size.height)];// 回到起点[self.borderPath addLineToPoint:CGPointMake(0, 10)];// 将这个path赋值给maskLayer的pathself.maskLayer.path = self.borderPath.CGPath;
}

如果想让文本相对方形框居中,可以在 view 上放一个 label

http://www.hrbkazy.com/news/47342.html

相关文章:

  • 网站建设运用软件注册网站域名
  • 网站制作哪家好缅甸新闻最新消息
  • 购买网站seo怎么学在哪里学
  • wordpress首页优化武汉seo广告推广
  • 做网站定金是多少太原seo关键词排名
  • 网页制作一个网站八个页面咋做b2b网站大全免费推广
  • 虚拟空间做网站2345电脑版网址导航
  • cad效果图怎么制作搜索引擎优化分析
  • 什么软件可以看网站网络推广公司联系方式
  • 在线教育网站有什么程序做seo沈阳
  • 那些网站可以做0首付分期手机下载爱城市网app官方网站
  • 响水哪家专业做网站温州seo服务
  • 网站使用自己的服务器新闻报道最新消息今天
  • 武汉高端网站制作他达拉非片的作用及功效副作用
  • 成都设计公司哪家比较好seo网课培训
  • 郓城那家网站做的好网站收录查询入口
  • 有没有什么做水利资料的网站抖音推广佣金平台
  • 携程的网站建设公司建网站需要多少钱
  • 旅游网站设计源码苏州百度推广服务中心
  • 专门做简历的网站软件湖南seo技术培训
  • 全椒做网站百度竞价推广的优势
  • 电脑做任务赚钱网站小程序开发多少钱
  • 可以做引流网站的源码中国今天最新军事新闻
  • 周口市建设职工培训中心网站实体店营销方案
  • 门户网站属于新媒体吗软文广告的案例
  • 品牌网站建设浩森宇特seo网站诊断分析报告
  • 外汇直播室都是网站做的站长工具百科
  • 如何为自己的店铺做网站大连seo网站推广
  • 青岛市建设监理协会网站河南怎样做网站推广
  • 竖导航网站栾城seo整站排名