国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

怎么做游戲推廣賺錢(qián)廊坊seo管理

怎么做游戲推廣賺錢(qián),廊坊seo管理,汕頭網(wǎng)站制作公司價(jià)格,做像58同城這樣的網(wǎng)站能用mysql數(shù)據(jù)庫(kù)嗎把我之前發(fā)布在簡(jiǎn)書(shū)的博客搬運(yùn)過(guò)來(lái)。 目錄 場(chǎng)景思路具體實(shí)現(xiàn)1. 自定義一個(gè)繼承自UILabel的IrregularLabel2. 在初始化方法中進(jìn)行相應(yīng)初始化和設(shè)置3. 在layoutSubviews方法中進(jìn)行路徑的設(shè)置 最終效果箭頭 label 場(chǎng)景 最近 App 改版,以下是截取的部分 UI 設(shè)計(jì)圖&…

請(qǐng)?zhí)砑訄D片描述

把我之前發(fā)布在簡(jiǎn)書(shū)的博客搬運(yùn)過(guò)來(lái)。


目錄

  • 場(chǎng)景
  • 思路
  • 具體實(shí)現(xiàn)
    • 1. 自定義一個(gè)繼承自UILabel的IrregularLabel
    • 2. 在初始化方法中進(jìn)行相應(yīng)初始化和設(shè)置
    • 3. 在layoutSubviews方法中進(jìn)行路徑的設(shè)置
  • 最終效果
  • 箭頭 label


場(chǎng)景

最近 App 改版,以下是截取的部分 UI 設(shè)計(jì)圖:

其中有一個(gè)不規(guī)則的 label

這個(gè) label 頂部的兩個(gè)角是圓角,底部的兩個(gè)角是直角,底部還有一個(gè)小三角。

思路

CAShapeLayer 聯(lián)合 UIBezierPath 畫(huà)一個(gè)不規(guī)則的 layer 作為 label.layermask。

具體實(shí)現(xiàn)

1. 自定義一個(gè)繼承自UILabel的IrregularLabel

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

2. 在初始化方法中進(jìn)行相應(yīng)初始化和設(shè)置

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

3. 在layoutSubviews方法中進(jìn)行路徑的設(shè)置

- (void)layoutSubviews {[super layoutSubviews];// 遮罩層frameself.maskLayer.frame = self.bounds;// 設(shè)置path起點(diǎn)[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)];// 直線,回到起點(diǎn)[self.borderPath addLineToPoint:CGPointMake(0, 10)];// 將這個(gè)path賦值給maskLayer的pathself.maskLayer.path = self.borderPath.CGPath;
}
  • 左上角的坐標(biāo)是 (0,0)
  • 右下角的坐標(biāo)是 (maxX,maxY)

圓角是用的二次貝塞爾曲線,關(guān)于二次貝塞爾曲線,我在網(wǎng)上看到一張比較形象的圖:

3個(gè)點(diǎn)確定一個(gè)圓角。

最終效果

- (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 = @"這是一個(gè)不規(guī)則label";self.label.textAlignment = NSTextAlignmentCenter;self.label.backgroundColor = [UIColor redColor];self.label.textColor = [UIColor whiteColor];self.label.font = [UIFont boldSystemFontOfSize:16];
}

效果圖:

在這里插入圖片描述


箭頭 label

有讀者說(shuō)要帶箭頭的 label:

在這里插入圖片描述

其實(shí)思路是一樣的:

- (void)layoutSubviews {[super layoutSubviews];// 遮罩層frameself.maskLayer.frame = self.bounds;// 設(shè)置path起點(diǎn)[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)];// 回到起點(diǎn)[self.borderPath addLineToPoint:CGPointMake(0, 10)];// 將這個(gè)path賦值給maskLayer的pathself.maskLayer.path = self.borderPath.CGPath;
}

如果想讓文本相對(duì)方形框居中,可以在 view 上放一個(gè) label。

http://m.aloenet.com.cn/news/43884.html

相關(guān)文章:

  • 怎樣查詢網(wǎng)站備案號(hào)百度競(jìng)價(jià)可以自學(xué)嗎
  • mysql數(shù)據(jù)做彩票網(wǎng)站參考消息今天新聞
  • 企業(yè)宣傳網(wǎng)站在哪里做seo中國(guó)是什么
  • 用asp制作動(dòng)態(tài)網(wǎng)站比優(yōu)化更好的詞是
  • 百度資料怎么做網(wǎng)站東莞百度快速排名
  • 網(wǎng)站圖片優(yōu)化大小網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃書(shū)步驟
  • dede網(wǎng)站日志個(gè)人網(wǎng)站怎么做
  • 網(wǎng)站優(yōu)化軟件免費(fèi)入駐的跨境電商平臺(tái)
  • 網(wǎng)站建設(shè)推廣的方法百度搜索量最大的關(guān)鍵詞
  • 做腳本從網(wǎng)站引流看網(wǎng)站時(shí)的關(guān)鍵詞
  • html網(wǎng)站發(fā)布高端網(wǎng)站建設(shè)
  • php網(wǎng)站建設(shè)帶數(shù)據(jù)庫(kù)模板網(wǎng)店關(guān)鍵詞怎么優(yōu)化
  • 企業(yè)網(wǎng)站上的二維碼怎么獲得手游推廣賺傭金的平臺(tái)
  • wordpress如何導(dǎo)出數(shù)據(jù)寧波優(yōu)化關(guān)鍵詞首頁(yè)排名
  • 以網(wǎng)站域名做郵箱怎樣做企業(yè)宣傳推廣
  • 黃頁(yè)88網(wǎng)全自動(dòng)錄播系統(tǒng)寧波百度推廣優(yōu)化
  • 如何給網(wǎng)站添加搜索關(guān)鍵字網(wǎng)絡(luò)營(yíng)銷(xiāo)有哪些方式
  • web畢業(yè)設(shè)計(jì)題目西安seo王塵宇
  • 百度網(wǎng)站做防水補(bǔ)漏seo01
  • 醫(yī)療類(lèi)網(wǎng)站源碼網(wǎng)絡(luò)推廣網(wǎng)上營(yíng)銷(xiāo)
  • 網(wǎng)頁(yè)創(chuàng)建網(wǎng)站如何免費(fèi)自己創(chuàng)建網(wǎng)站
  • asp.net旅游網(wǎng)站管理系統(tǒng)代碼軟文推廣多少錢(qián)一篇
  • 做網(wǎng)站專(zhuān)題需要什么軟件湖南靠譜關(guān)鍵詞優(yōu)化
  • 長(zhǎng)治做網(wǎng)站公司網(wǎng)絡(luò)服務(wù)公司
  • 購(gòu)物網(wǎng)站 服務(wù)器 帶寬 多大360搜索引擎地址
  • 網(wǎng)站開(kāi)發(fā)怎么使用sharepoint網(wǎng)站推廣優(yōu)化外包便宜
  • 企業(yè)做的網(wǎng)站推廣方案的步驟深圳網(wǎng)站建設(shè)哪家好
  • 公司網(wǎng)站建設(shè)需要什么資質(zhì)購(gòu)物網(wǎng)站頁(yè)面設(shè)計(jì)
  • 怎么選擇一家好的網(wǎng)站建設(shè)公司360優(yōu)化大師
  • 網(wǎng)站制作哪家專(zhuān)業(yè)微商怎么找客源人脈