最近應用需要自繪控件 但是在繪制view的時候遇到一個現象。這個現象也許能讓大家繪制控件的時候調bug少一些時間。
成都創(chuàng)新互聯為企業(yè)級客戶提高一站式互聯網+設計服務,主要包括網站制作、成都網站設計、成都app軟件開發(fā)公司、成都微信小程序、宣傳片制作、LOGO設計等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯各部門都有經驗豐富的經驗,可以確保每一個作品的質量和創(chuàng)作周期,同時每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。如我有一個UIView,實現如下
- (void)drawRect:(CGRect)rect
{
CGContextRef context=UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [UIColor yellowColor].CGColor);
CGContextMoveToPoint(context, X1, Y1);
CGContextAddLineToPoint(context, X2, Y2);
CGContextStrokePath(context);
}
然后我把這個繪制的UIview給一個ViewController。代碼如下
- (void)viewDidLoad
{
[super viewDidLoad];
x1=20;
y1=10;
x2=120;
y2=30;
TX *t=[[TX alloc] init];
// [t setBackgroundColor:[UIColor clearColor]];
[t setBackgroundColor:nil];
self.view=t;
UIButton *bt=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 35)];
bt.backgroundColor=[UIColor yellowColor];
[bt addTarget:self action:@selector(btAction:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:bt];
}
-(void)btAction:(id)sender{
x1+=20;
y1+=20;
x2+=30;
y2+=30;
TX *t=(TX *)[self view];
t->X1=x1;
t->Y1=y1;
t->X2=x2;
t->Y2=y2;
[t setNeedsDisplay];
}
注意上面加紅的兩行代碼。當[t setBackgroundColor:nil];或者不設置BackgroundColor時默認也是nil的。然后不停的按Button。效果如下
上面的圖顯示 重新繪制的時候沒有清空前面繪制的。
但是當[t setBackgroundColor:[UIColor clearColor]];后不停按Button效果如下
如上圖 重繪的時候會清除前面的繪圖。所以有時候不一定要自己手動清空去 可能就是這點沒注意。
(希望大神能解釋這一現象的原因)。
另外有需要云服務器可以了解下創(chuàng)新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享名稱:IOS繪圖的奇怪現象-創(chuàng)新互聯
分享鏈接:http://www.rwnh.cn/article16/djgdgg.html
成都網站建設公司_創(chuàng)新互聯,為您提供響應式網站、靜態(tài)網站、搜索引擎優(yōu)化、外貿建站、網站排名、網站設計公司
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯