ios - iphone Apabila menggunakan UIGraphicsGetCurrentContext dalam drawRect untuk melukis segi empat tepat, adakah terdapat lebihan 1 piksel di luar sempadan?
我想大声告诉你
我想大声告诉你 2017-05-16 13:18:51
0
1
1031

Kod adalah seperti berikut

-(void) drawRect:(CGRect)rect{
//CGContextRef context = UIGraphicsGetCurrentContext();
//CGContextSetRGBFillColor(context, 0.0, 0.0, 0.0, 0.2);
[[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.2]setFill];
CGRect grayRect = self.frame;
UIRectFill(grayRect);

CGRect cropRect = _intersectionRect;
CGRect intersectionRect = CGRectIntersection(cropRect, grayRect);
[[UIColor clearColor]setFill];
UIRectFill(intersectionRect);
}

Dalam demo projek kosong, semuanya ok

Tetapi dalam projek saya sendiri, terdapat tambahan 1px dan sempadan dengan ketelusan yang berbeza Bagaimana untuk menyelesaikannya?

我想大声告诉你
我想大声告诉你

membalas semua(1)
刘奇

Masalah selesai, nilai kedua-dua rect harus ditetapkan kepada int dan bukannya float.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan