答案 0 :(得分:2)
if (!UIAccessibilityIsReduceTransparencyEnabled()) {
self.BlurView.backgroundColor = [UIColor clearColor];
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
UIVisualEffectView *blurEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
blurEffectView.frame = self.view.bounds;
[blurEffectView setAlpha:1.0];
[self.BlurView addSubview:blurEffectView];
}
self.BlurView
的类型为UIView
。
您可以保留上方和下方视图。并且可以根据您的上下尺寸调整框架blurEffectView.frame
。
希望这会对你有所帮助。
答案 1 :(得分:2)
在顶部添加UIVisualEffectView:
CAGradientLayer * layer = [CAGradientLayer layer];
layer.frame = tableHolder.bounds;
layer.colors = [NSArray arrayWithObjects:(id)[UIColor blackColor].CGColor, (id)[UIColor clearColor].CGColor, (id)[UIColor clearColor].CGColor, nil];
layer.locations = @[@0.90,@0.99,@1.0];
layer.startPoint = CGPointMake(0.0, 1.0f);
layer.endPoint = CGPointMake(0.0f, 0.0f);
tableHolder.layer.mask = layer;
tableHolder.layer.masksToBounds = true;
[tableHolder.layer insertSublayer:layer atIndex:0];
添加此代码:
act="1" bar="moreCrap" interesting="car" foo="I"
act="1" bar="that" interesting="car" foo="just"
act="1" bar="matters" interesting="truck" foo="need"
act="1" bar="to" interesting="sedan" foo="a"
act="1" bar="no" interesting="sedan" foo="regex "
act="1" bar="one" interesting="truck" foo="matcher"
act="1" bar="including" interesting="tricycle" foo="that"
act="1" bar="me" interesting="truck" foo="will"
act="1" bar="or" interesting="sedan" foo="delete"
act="1" bar="even" interesting="sedan" foo="repetitions"
act="1" bar="you" interesting="sedan" foo="of"
act="1" bar="lol" interesting="sedan" foo="stuff"
act="1" bar="me" interesting="truck" foo="ha"
act="2" bar="no" interesting="sedan" foo="regex "
act="2" bar="one" interesting="truck" foo="matcher"
act="2" bar="including" interesting="tricycle" foo="that"
act="2" bar="me" interesting="truck" foo="will"
act="2" bar="or" interesting="sedan" foo="delete"
act="2" bar="even" interesting="sedan" foo="repetitions"
act="2" bar="you" interesting="sedan" foo="of"
act="2" bar="lol" interesting="sedan" foo="stuff"
act="2" bar="me" interesting="truck" foo="ha"
act="2" bar="me" interesting="truck" foo="ha"
根据自己的需要调整变量,您必须更改位置。
你不会模糊'顶部和底部,但逐渐通过梯度层掩盖它们。
答案 2 :(得分:1)
我可以想办法达到这个效果。但你需要的不是模糊面具,你需要使用剪贴蒙版。
1-提供了一个模态视图控制器,其视图在后面包含一个UIVisualEffectView,并且前面的scrollview / tableview / collection视图从顶部和底部偏移40px(或者你想要的多少)。 2-使用为任务定制的黑白图像在滚动视图中添加遮罩,您可以使用以下代码添加遮罩:
var maskImage = UIImage(name: "yourMask")
var maskLayer = CALayer()
maskLayer.frame = scrollView.bounds()
maskLayer.contents = maskImage.CGImage
scrollview.layer.mask = maskLayer
3-或者,您也可以使用CAGradientLayer来实现相同的效果(这也适用于缩放)。关于如何创建渐变层的堆栈溢出有很多解决方案,如下所示:Create gradient image programmatically in iOS
说过我不明白为什么你的问题被投了票。我认为这是一个非常好的问题。
希望这有帮助!