cari

Rumah  >  Soal Jawab  >  teks badan

ios - iphone Apabila menggunakan UIGraphicsGetCurrentContext dalam drawRect untuk melukis segi empat tepat, adakah terdapat lebihan 1 piksel di luar sempadan?

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?

我想大声告诉你我想大声告诉你2743 hari yang lalu977

membalas semua(1)saya akan balas

  • 怪我咯

    怪我咯2017-05-16 13:20:51

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

    balas
    0
  • Batalbalas