Ios 滚动uiscrollview时淡入UITextView
我有一个包含UIImageviews的UIScrollView,它包装在以编程方式创建的UIScrollView中。 在主UIScrollView中,我有一个UITextView,当在各种UIImageView之间滚动时,它将根据显示的图像视图更改其内容。我想根据滚动的UIScrollView的位置相应地减少显示UITextView的alpha。Ios 滚动uiscrollview时淡入UITextView,ios,objective-c,iphone,uiscrollview,Ios,Objective C,Iphone,Uiscrollview,我有一个包含UIImageviews的UIScrollView,它包装在以编程方式创建的UIScrollView中。 在主UIScrollView中,我有一个UITextView,当在各种UIImageView之间滚动时,它将根据显示的图像视图更改其内容。我想根据滚动的UIScrollView的位置相应地减少显示UITextView的alpha。 例如,当用户从一组UIImageView移动到另一组UIImageView时,如果滚动过程进行到一半,uitextview的alpha应为0.5。有什
例如,当用户从一组UIImageView移动到另一组UIImageView时,如果滚动过程进行到一半,uitextview的alpha应为0.5。有什么办法可以达到这个效果吗
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGFloat offset = scrollView.contentOffset.x; // here you will get the offset value
CGFloat value = offset / totalcontentsize;
// use 'value' for setting the textview alpha value
}
我只是添加了如何处理的逻辑
或者您可以使用一个类别。在UIView上创建一个名为UIView+外观的类别
@interface UIView (Looks)
-(void)fadeTail;
@end
@implementation UIView (Looks)
-(void)fadeTail
{
// it's used to fade away the bottom,
// perhaps of a slab of text, web view or similar
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = self.bounds;
gradient.colors = @[
(id)[[UIColor whiteColor] CGColor],
(id)[[UIColor clearColor] CGColor]
];
gradient.startPoint = CGPointMake(0.5, 0.93);
gradient.endPoint = CGPointMake(0.5, 1);
[self.layer setMask:gradient];
}
@end
示例用法(在本例中为web视图
@property (strong) IBOutlet UIWebView *dossierBlock;
-(void)_fillMainArea
{
[self _loadBookImage];
NSString *longHtml = CLOUD.caMeeting[@"yourJsonTag"];
nullsafe(longHtml);
[self.dossierBlock longHtml baseURL:nil];
[self.dossierBlock fadeTail];
}
你可以用同样的方法制作一个“fadeTop”