Dodaję CAGradientLayer
do widoku. Po automatycznym przeskalowaniu widoku (np. Po obrocie) warstwa gradientowa nie jest zmieniana. Czy gradient można ustawić tak, aby automatycznie zmieniał rozmiar tak samo jak widok? Zauważ też, że używam ograniczeń automatycznego układu w widoku.Jak zmienić rozmiar warstwy CAGradientLayer po obróceniu?
Oto co robię:
CAGradientLayer *gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = CGRectMake(0.0, 0.0, frame.size.width, frame.size.height);
gradientLayer.colors = [NSArray arrayWithObjects:
(id)[[UIColor colorWithRed:255.0/255.0f green:255.0/255.0f blue:255.0/255.0f alpha:1.0f] CGColor],
(id)[[UIColor colorWithRed:233.0/255.0f green:233.0/255.0f blue:233.0/255.0f alpha:1.0f] CGColor], nil];
[self.layer insertSublayer:gradientLayer atIndex:0];
możliwy duplikat [CALayer autoreizingMask nie dla iOS SDK?] (Http://stackoverflow.com/questions/8600826/calayer-autoresizingmask-not-for-ios-sdk) – CodaFi
@CodaFi Nieco inne pytanie. Ponadto, chociaż istnieje akceptowana odpowiedź na to pytanie, wydaje się to bezużyteczne w tym przypadku. – memmons
Masz rację, ta odpowiedź jest bezwartościowa. Zastąp '-layoutSubviews' i przypisz tam swoje ramki. – CodaFi