真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

IOS繪圖的奇怪現(xiàn)象

 最近應(yīng)用需要自繪控件  但是在繪制view的時(shí)候遇到一個(gè)現(xiàn)象。這個(gè)現(xiàn)象也許能讓大家繪制控件的時(shí)候調(diào)bug少一些時(shí)間。

目前成都創(chuàng)新互聯(lián)公司已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、農(nóng)安網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

如我有一個(gè)UIView,實(shí)現(xiàn)如下

- (void)drawRect:(CGRect)rect

{

    CGContextRef context=UIGraphicsGetCurrentContext();

   CGContextSetStrokeColorWithColor(context, [UIColoryellowColor].CGColor);

     CGContextMoveToPoint(context,X1,Y1);

   CGContextAddLineToPoint(context,X2,Y2);

   CGContextStrokePath(context);

}

 

然后我把這個(gè)繪制的UIview給一個(gè)ViewController。代碼如下

- (void)viewDidLoad

{

    [superviewDidLoad];

    x1=20;

    y1=10;

    x2=120;

    y2=30;

      TX *t=[[TX alloc] init];

    

  // [t setBackgroundColor:[UIColor clearColor]];

    [tsetBackgroundColor:nil];

    self.view=t;

    UIButton *bt=[[UIButtonalloc]initWithFrame:CGRectMake(0,0,100,35)];

    bt.backgroundColor=[UIColoryellowColor];

    [btaddTarget:selfaction:@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;

    

    [tsetNeedsDisplay];

}

注意上面加紅的兩行代碼。當(dāng)[t setBackgroundColor:nil];或者不設(shè)置BackgroundColor時(shí)默認(rèn)也是nil的。然后不停的按Button。效果如下

 

IOS 繪圖的奇怪現(xiàn)象

上面的圖顯示 重新繪制的時(shí)候沒有清空前面繪制的。

但是當(dāng)[t setBackgroundColor:[UIColor clearColor]];后不停按Button效果如下

 

IOS 繪圖的奇怪現(xiàn)象

如上圖 重繪的時(shí)候會(huì)清除前面的繪圖。所以有時(shí)候不一定要自己手動(dòng)清空去  可能就是這點(diǎn)沒注意。

(希望大神能解釋這一現(xiàn)象的原因)。

 


當(dāng)前文章:IOS繪圖的奇怪現(xiàn)象
文章來源:http://weahome.cn/article/jsphos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部