Gezinme çubuğuma iki etiket ekledim ve kaydırma görünümündeki y konumundan yola çıkarak bir tanesini solmaya ve bir daha da sönmeye çalışıyorum. Alfa değerini kaydettiğimde, değerler doğru gibi görünüyor. Ama koştuğunuz zaman göründüğü gibi değil. TopTitleLable öğesinin alfaı 1'den neredeyse 0'a gider ve sonra yavaş yavaş kaybolur. Bunu nasıl ayıklayacağınızdan emin değilsiniz.Scrollview delegesinden alfa atama
dışarı solma gerekirken bu solma etiketle aşağıya doğru kaydırma resimdir:
TLDR: nasıl scrollview pozisyon kapalı dayalı bir etiket alfa değiştirebilirim?
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
static CGFloat startFade = 190;
static CGFloat endFade = 215;
CGFloat difference = endFade - startFade;
if (scrollView.contentOffset.y < startFade && self.navigationController.topTitleLabel.alpha != 1.0) {
self.navigationController.topTitleLabel.alpha = 1.0;
self.navigationController.bottomTitleLabel.alpha = 0.0;
} else if (scrollView.contentOffset.y >= startFade && scrollView.contentOffset.y <= endFade) {
CGFloat scrollViewFraction = difference - (scrollView.contentOffset.y - startFade);
CGFloat topLabelAlpha = scrollViewFraction/difference;
CGFloat bottomLabelAlpha = 1 - topLabelAlpha;
self.navigationController.topTitleLabel.alpha = topLabelAlpha;
NSLog(@"%f VS. %f", topLabelAlpha, self.navigationController.topTitleLabel.alpha);
self.navigationController.topTitleLabel.alpha = bottomLabelAlpha;
} else if (scrollView.contentOffset.y > endFade && self.navigationController.topTitleLabel.alpha != 0.0) {
self.navigationController.topTitleLabel.alpha = 0.0;
self.navigationController.bottomTitleLabel.alpha = 1.0;
}
}
@dahh Wow Çok teşekkür ederim! İki etiket için farklı bir yöntem kullanarak sona erdim, böylece farklı y değerlerinde içeri girip çıktım ancak grafik çok yardımcı oldu. – kiaraRobles