Saya menggunakan [UIColor colorWithPatternImage:]
untuk mengatur gambar latar belakang untuk UITableViewCell yang saya kelompokkan. Saya mendapatkan sudut membulat gratis untuk sel saya dan semuanya tampak bagus, sampai saya mencoba memberikan ketinggian yang berbeda pada sel.
Idealnya, saya ingin gambar latar belakang berada di tengah secara vertikal, namun metode colorWithPatternImage:
memulai pola gambar dari sudut kiri bawah, yang membuat sel saya terlihat buruk.
Dikatakan dalam dokumentasi itu
"Secara default, fase warna yang dikembalikan adalah 0, yang menyebabkan sudut kiri atas gambar sejajar dengan asal gambar. Untuk mengubah fase, jadikan warna menjadi warna saat ini lalu gunakan CGContextSetPatternPhase berfungsi untuk mengubah fase."
Tapi saya tidak tahu bagaimana menggunakan CGContextSetPatternPhase
dengan implementasi saya saat ini.
Saya mencoba
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGSize phase = CGSizeMake(50, 50);
CGContextSetPatternPhase(context, phase);
UIImage* image = [UIImage imageNamed:@"cell_background"];
UIColor* color = [UIColor colorWithPatternImage:image];
self.backgroundColor = color;
CGContextRestoreGState(context);
[super drawRect:rect];
}
Tapi itu tidak berpengaruh apa pun pada fase pola. Adakah yang bisa memberi tahu saya bagaimana cara menggunakannya?
Terimakasih banyak,
Yusuf