2013-06-19 21 views
5

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

+0

Aynı şeyi katmana gölge ekleyerek de yapabilirsiniz. [Bunu deneyin] (http://stackoverflow.com/a/5428108/2487322) – Idles

+0

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

+2

Kare bir gölge veya kenarlık istemiyorum, içerdiği resmin aynı şekli olmasını istiyorum. – lavoy

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!