iOS 分别对一张图的局部进行磨砂,拼接起来不能贴合

效果图

需求,由于视图层级的原因,需要对图片分开进行磨砂, 然后组合在一起

如图,上下两部分,上下两个UIImageVIew大小相同,都是和图片同样的大小,只是上面的UIimageVIew 只展示上半部份 (上面图片的父视图cliptobound=YES,超出部分被切掉),下面的UIImageView只展示下半部分,如果没有磨砂的情况下,两张图是完全贴合的,下面分别对两

磨砂代码如下

复制代码
- (UIVisualEffectView *)bgEffectView{
    if(!_bgEffectView){
        UIBlurEffect *blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
        _bgEffectView = [[UIVisualEffectView alloc] initWithEffect:blur];
        _bgEffectView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SafeAreaTopHeight + 44 * PLUS_SCALE + 210 * PLUS_SCALE);
//        _bgEffectView.hidden = YES;
    }
    return _bgEffectView;
}

但是进行磨砂的时候发现一个问题,如图

就是上半部份和下半部份没有完全贴合,而是上半部分有明显的边界

经过多次尝试,还是不能完全贴合,后来发发现,磨砂都是对目前没有可以展示的内容进行磨砂的,比如上半部份,虽然图片是和下面的图片大小一样,但是其超处父视图的部分没有展示(clipsToBounds = YES),导致上半部分只对上面展示的那一部分进行磨砂,而磨砂会在边界留下分割线效果,就导致和下半部份不能贴合,

由此可见
图片不能分开磨砂,分开磨砂是不能贴合的

相关推荐
zhyongrui1 小时前
SnipTrip 菜单 Liquid Glass 实现方案:结构、材质、交互与深浅色策略
ios·性能优化·swiftui·交互·开源软件·材质
zhyongrui1 小时前
SnipTrip 不发烫的实现路径:局部刷新 + 合成缓存 + 峰值削减
ios·swiftui
晚霞的不甘3 小时前
Flutter for OpenHarmony 实现 iOS 风格科学计算器:从 UI 到表达式求值的完整解析
前端·flutter·ui·ios·前端框架·交互
初级代码游戏18 小时前
iOS开发 SwiftUI 14:ScrollView 滚动视图
ios·swiftui·swift
初级代码游戏20 小时前
iOS开发 SwitftUI 13:提示、弹窗、上下文菜单
ios·swiftui·swift·弹窗·消息框
zhyongrui1 天前
托盘删除手势与引导体验修复:滚动冲突、画布消失动画、气泡边框
ios·性能优化·swiftui·swift
Boxsc_midnight1 天前
【openclaw+imessage】【免费无限流量】集成方案,支持iphone手机+macos
ios·智能手机·iphone
感谢地心引力1 天前
安卓、苹果手机无线投屏到Windows
android·windows·ios·智能手机·安卓·苹果·投屏
2501_915918412 天前
HTTPS 代理失效,启用双向认证(mTLS)的 iOS 应用网络怎么抓包调试
android·网络·ios·小程序·https·uni-app·iphone
Swift社区2 天前
Flutter 路由系统,对比 RN / Web / iOS 有什么本质不同?
前端·flutter·ios