Saydam arka plan üzerinde ortalanmış bir dizi görüntü var. Hepsine beyaz bir kenarlık eklemek istiyorum ve görüntünün opak kısmının kenarına sahip olsaydım çizebilirdim. Bunu çıkarmak mümkün mü?UIBezierPath Saydamlık UIImage çevresinde
5
A
cevap
-2
Bunu yapmanın birkaç yolu vardır.Özel alt görünümünüzün tüm öğeleri init
yönteminde. Öncelikle sınır rengini ayarla. Burada ayarlayabilirsiniz yoludur:
borderColor = [UIColor greenColor];
ve
borderColor=[[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"anyImageName.jpg"]]; //[UIColor colorWithPatternImage:];
Sonraki
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:_yourImageView.frame cornerRadius:1.0];
[path setLineWidth:5.0];//set width as per your requirement.
Ve son olarak UIBezierPath tahsisi yapın drawRect
yöntemi geçersiz
- (void)drawRect:(CGRect)rect
{
[borderColor setStroke];
[path strokeWithBlendMode:kCGBlendModeNormal alpha:1.0];//alpha handles the transparency
}
olarak İşe yaramalı. Mutlu kodlama!
Aynı şeyi katmana gölge ekleyerek de yapabilirsiniz. [Bunu deneyin] (http://stackoverflow.com/a/5428108/2487322) – Idles
Görüntüler UIImageView'de mi? Eğer öyleyse, sınırları eklemenin çok daha kolay bir yolu katmanları kullanmaktır. Örneğin, myImageView.layer.borderColor = [UIColor whiteColor] .CGColor' ve 'myImageView.layer.borderWidth = 2.f' QuartzCore çerçevesini hedefinize eklemeniz ve #import. katmanları kullanarak .m dosyalarında. –
bobnoble
Kare bir gölge veya kenarlık istemiyorum, içerdiği resmin aynı şekli olmasını istiyorum. – lavoy