亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

IOS自定義UIView

2020-07-26 02:54:34
字體:
來源:轉載
供稿:網友

IOS中一般會用到幾種方式自定義UIView

1、繼承之UIView的存代碼的自定義View

2、使用xib和代碼一起使用的自定義View

3、存xib的自定義View(不需要業務處理的那種)

本文主要就介紹下存代碼的自定義UIView和能夠在storeboard中實時顯示效果的自定義UIView

先上效果圖

上面為設計界面,能夠直接顯示一個View的圓角與邊框線

上面那個圓形餅圖是用純代碼自定義的

1.實現在storeboard中實時顯示效果的自定義UIView

 1、創建MyView.h 繼承 UIView

#import <UIKit/UIKit.h>// 設置類為可視化設計IB_DESIGNABLE@interface MyView : UIView// IBInspectable 為可視化設計屬性// 邊框寬度@property (nonatomic,assign)IBInspectable float borderWidth;// 邊框顏色@property (nonatomic,retain)IBInspectable UIColor* borderColor;// 圓角@property (nonatomic,assign)IBInspectable float cornerRadius;@end

這里要注意的就是上面的兩個關鍵標簽

IB_DESIGNABLE :代表的是這個類可以在storeboard中顯示實時的效果

IBInspectable :代表把這個屬性能在storeboard中修改

2、MyView.m的實現

//// MyView.m// 01_CirProgress//// Created by xgao on 15/10/29.// Copyright (c) 2015年 xgao. All rights reserved.//#import "MyView.h"@implementation MyView// 邊框寬度- (void)setBorderWidth:(float)borderWidth{ self.layer.borderWidth = borderWidth;}// 邊框顏色- (void)setBorderColor:(UIColor *)borderColor{ self.layer.borderColor = borderColor.CGColor;}// 圓角- (void)setCornerRadius:(float)cornerRadius{ self.layer.cornerRadius = cornerRadius;}@end

3、在storeboad中添加一個view,并且設置這個view的類為 我們剛才創建的 MyView

上圖里面的那些屬性就是我們在.h文件里面加了IBInspectable關鍵字的屬性,這里就能實時修改看效果了。

2.實現純代碼的自定義View

1、創建一個繼承UIView的 MyProgress 類文件,MyProgress.h 如下:

#import <UIKit/UIKit.h>@interface MyProgress : UIView// 當時進度值@property (nonatomic,assign) float progressValue;@end

2、MyProgress.m 如下:

#import "MyProgress.h"@implementation MyProgress{ float _proValue;}// 重寫初始化方法- (id)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) {  // 設置背影為透明色  self.backgroundColor = [UIColor clearColor]; } return self;}// 重設progressValue屬性- (void)setProgressValue:(float)progressValue{ _progressValue = progressValue; // 重新畫UI [self setNeedsDisplay];}// 繪圖- (void)drawRect:(CGRect)rect { // 獲取畫圖的上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); /**** 繪制圓形背景線 ****/ // 圓的半徑 float r = rect.size.width / 2.0; // 全圓 CGFloat endAngle = M_PI * 2; // 畫圓形線 CGContextAddArc(ctx, r, r, r, 0, endAngle, 0); // 背影顏色 CGContextSetRGBFillColor(ctx, 0.7, 0.7,0.7, 1); // 完成繪制 CGContextFillPath(ctx); /**** 繪制扇形區域 ****/ // 計算結束角度 endAngle = M_PI * 2 * _progressValue; /** 畫圓  * 參數1:c   當前上下文  * 參數2:x   圓的X坐標  * 參數3:y   圓的Y坐標  * 參數4:radius  圓的半徑  * 參數5:startAngle 開始角度  * 參數6:endAngle 結束角度  * 參數7:clockwise 是否逆時針  */ CGContextAddArc(ctx, r, r, r, 0, endAngle, 0); // 連成線,成弧形 CGContextAddLineToPoint(ctx, r, r); // 其實就是在連接的那條線上加一個點,讓線條連接到那一個點,就像拉弓,可加多個點// CGContextAddLineToPoint(ctx, r + 20, r + 20); // 填充顏色 CGContextSetRGBFillColor(ctx, 0, 0, 1, 1); // 完成繪制 CGContextFillPath(ctx);}

3、調用自定義的MyProgress類

#import "MyProgress.h"@interface ViewController (){ MyProgress* _myProView;}@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // 創建自定義控件 _myProView = [[MyProgress alloc]initWithFrame:CGRectMake(100, 50, 180, 180)]; // 默認進度 _myProView.progressValue = 0.2; [self.view addSubview:_myProView];}

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品亚洲一区二区三区在线播放| 国产精品专区一| 国产小视频国产精品| 久久五月天色综合| 国产一区二区三区直播精品电影| 国产偷亚洲偷欧美偷精品| xvideos亚洲| 中文字幕久热精品视频在线| 欧美视频在线观看免费| 黄色一区二区在线| 午夜剧场成人观在线视频免费观看| 欧美电影免费观看网站| 成人免费视频网| 国产亚洲一区二区在线| 欧美日韩一二三四五区| 91精品视频在线免费观看| 日韩欧美在线免费观看| 在线观看久久久久久| 欧美夫妻性生活视频| 亚洲一区二区三区在线免费观看| 免费91麻豆精品国产自产在线观看| 日韩亚洲欧美成人| 日韩中文字幕在线免费观看| 性欧美亚洲xxxx乳在线观看| 久久夜色精品国产欧美乱| 最好看的2019年中文视频| 欧美日韩激情网| 欧美性少妇18aaaa视频| 国产精品视频男人的天堂| 亚洲欧美激情在线视频| 日韩资源在线观看| 欧美洲成人男女午夜视频| 92版电视剧仙鹤神针在线观看| 亚洲国产精品va在线观看黑人| 国产日韩换脸av一区在线观看| 中文字幕亚洲国产| 欧美日韩国产综合视频在线观看中文| 日韩在线观看成人| 欧美插天视频在线播放| 国产精品中文字幕在线观看| 成人自拍性视频| 欧美性videos高清精品| 国产91九色视频| 欧美在线观看一区二区三区| 欧洲亚洲在线视频| 97国产在线视频| 国产亚洲欧美日韩精品| 伊人成人开心激情综合网| 国产精品尤物福利片在线观看| 欧美成人一区二区三区电影| 久久精品欧美视频| 国产精品日韩在线| 欧美性少妇18aaaa视频| 国产亚洲欧美日韩精品| 九九九热精品免费视频观看网站| 高清日韩电视剧大全免费播放在线观看| 91九色国产视频| 日韩av色综合| 成人免费福利在线| 91伊人影院在线播放| 欧美有码在线观看视频| 亚洲精品久久久久中文字幕欢迎你| 国产精品69精品一区二区三区| 日韩欧美国产黄色| 91福利视频网| 中文字幕亚洲综合久久筱田步美| 亚洲a∨日韩av高清在线观看| 欧美激情一区二区久久久| 在线观看成人黄色| 欧美又大粗又爽又黄大片视频| 成人免费福利在线| 九九热这里只有在线精品视| 91精品久久久久久久久久另类| 国产一区二区三区久久精品| 亚洲人成电影网站色| 久久久久久有精品国产| 在线看欧美日韩| 亚洲国产欧美一区| 国产成人jvid在线播放| 亚洲一区中文字幕| 日韩免费在线看| 国产日韩中文字幕| 日韩av电影在线免费播放| 欧美精品电影免费在线观看| 国产色婷婷国产综合在线理论片a| 亚洲色无码播放| 97精品久久久| 欧美综合在线第二页| 日韩中文字幕第一页| 国产91在线播放精品91| 欧美成人网在线| 中文字幕精品影院| 538国产精品一区二区免费视频| zzjj国产精品一区二区| 最好看的2019的中文字幕视频| 欧美日韩亚洲激情| 日韩免费av在线| 国产精品麻豆va在线播放| 亚洲日本aⅴ片在线观看香蕉| 91美女片黄在线观看游戏| 欧美日韩亚洲一区二| 亚洲欧美国产精品久久久久久久| 一区二区三区四区精品| 国产精品美腿一区在线看| 亚洲精品动漫久久久久| 日韩av在线电影网| 欧美一区二区视频97| 亚洲影视中文字幕| 国产亚洲精品美女| 久久精品国产99国产精品澳门| 国产精品看片资源| 成人欧美一区二区三区在线| 国产999精品视频| 川上优av一区二区线观看| 久久久国产一区二区三区| 久久久噜噜噜久噜久久| 亚洲国产婷婷香蕉久久久久久| 亚洲国产精品成人av| 亚洲丝袜av一区| 欧美在线观看日本一区| 亚洲级视频在线观看免费1级| 国产精品久久久久久久久久尿| 亚洲人永久免费| 有码中文亚洲精品| 亚洲图中文字幕| 欧美午夜片欧美片在线观看| 在线视频欧美日韩精品| 日韩高清免费在线| 国产不卡av在线| 91色p视频在线| xx视频.9999.com| 亚洲在线视频观看| 欧美成人免费在线观看| 国产精品自拍视频| 久久久久这里只有精品| 国产精品一区二区三区久久久| 国产在线观看精品一区二区三区| 国产小视频国产精品| 久久精品精品电影网| 亚洲成人av片| 一本一道久久a久久精品逆3p| 美女视频黄免费的亚洲男人天堂| 日韩中文字幕亚洲| 成人激情视频在线播放| 一本一本久久a久久精品综合小说| www国产亚洲精品久久网站| 91视频88av| 亚洲深夜福利在线| 亚洲精品一区二三区不卡| 午夜精品福利视频| 亚洲另类欧美自拍| 久久五月天综合| 亚洲国产日韩欧美综合久久| 成人日韩在线电影| 亚洲成色www8888| 亚洲最新在线视频| 亚洲精品免费网站| 久久精品国产2020观看福利| 91网站在线看| 欧美日韩福利视频| 国产美女91呻吟求| 国产精品久久久久久久久久久久久| 亚洲女人被黑人巨大进入al| 亚洲天堂男人天堂女人天堂|