Görüntüyü maskelemenin en iyi seçenek olduğuna inanıyorum. Ancak, döndürmek, dönüştürmek, animasyon uygulamak veya net bir arka plan yapmak isterseniz, şu gibi bir şey yapabilirsiniz:
Göstermek istediğiniz görüntünün boyutu olan bir alt görünüm oluşturun. clipsToBounds
'un doğru olduğundan emin olun ve görüntüyü buna göre konumlandırın.
UIView *mainView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 30)];
//this is the part of the image you wish to see
UIView *imageWindow = [[UIView alloc] initWithFrame:CGRectMake(30, 0, 30, 30)];
imageWindow.clipsToBounds = YES;
//your image view is the height and width of mainView and x and y is imageWindow - mainView. You can do this manually or put in calculations.
UIImageView *myImage = [[UIImageView alloc] initWithFrame:CGRectMake(imageWindow.frame.origin.x - mainView.frame.origin.x, imageWindow.frame.origin.y - mainView.frame.origin.y, mainView.frame.size.width, mainView.frame.size.height)];
myImage.image = [UIImage imageNamed:@"1024x1024.png"];
[imageWindow addSubview:myImage];
[mainView addSubview:imageWindow];
[self.view addSubview:mainView];
benim kod üzerinde bakınca, mainView
gerekli olduğunu düşünmüyorum ve doğrudan self.view için imageWindow
ekleyebilir.
Mülkiyet fillColor türü 'CALayer *' nesnesi bulunamadı, benim için çalışıyor. Bir ithalatı kaçırıyor muyum? –
, böylece bir CGColor (fillColor değil) için arka plan rengini ayarlama hile yaptı. @Ryan Poolos, cevabınızı düzenleyin ve kabul edeceğim. –
Oh Üzgünüm. 'fillColor', 'CAShapeLayer' üzerinde bir özelliktir ve normalde maskelerim için bir şekil katmanı kullanırım. Alışkanlık yaratığı. : p –