山寨"每日故宫"应用的图层遮罩效果

简介:

山寨"每日故宫"应用的图层遮罩效果

最终效果:

应用中的效果:

 

 

素材图片:

源码:

//
//  ViewController.m
//  每日故宫
//
//  Created by XianMingYou on 15/3/30.
//  Copyright (c) 2015年 XianMingYou. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@property (nonatomic, strong) UIImageView *bgImageView;
@property (nonatomic, assign) CGRect       leftRect;
@property (nonatomic, assign) CGRect       rightRect;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 背景view
    self.bgImageView        = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background.jpg"]];
    self.bgImageView.center = self.view.center;
    [self.view addSubview:self.bgImageView];
    
    // 存储必要的frame值
    CGRect  midRect = self.bgImageView.frame;
    CGFloat offsetX = 20.f;
    self.leftRect   = CGRectMake(midRect.origin.x - offsetX,
                                 midRect.origin.y,
                                 midRect.size.width,
                                 midRect.size.height);
    self.rightRect  = CGRectMake(midRect.origin.x + offsetX,
                                 midRect.origin.y,
                                 midRect.size.width,
                                 midRect.size.height);
    
    // 加载图片
    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"31"]];
    imageView.frame        = self.view.bounds;
    [self.view addSubview:imageView];
    
    
    // 执行动画
    [self animationBGImageViewWithDirection:YES];
}

- (void)animationBGImageViewWithDirection:(BOOL)left {
    [UIView animateWithDuration:2.f animations:^{
        if (left == YES) {
            self.bgImageView.frame = self.rightRect;
        } else {
            self.bgImageView.frame = self.leftRect;
        }
    } completion:^(BOOL finished) {
        [self animationBGImageViewWithDirection:!left];
    }];
}

@end

目录
相关文章
|
消息中间件 物联网 网络性能优化
MQTT常见问题之MQTT不支持5.0的协议如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
8月前
|
人工智能 自然语言处理 算法
完全开源的代码大模型OpenCoder来了,跻身性能第一梯队
在人工智能领域,大型语言模型(LLM)尤其在代码生成等任务中展现出巨大潜力。然而,高质量、可复现的开源代码LLM仍稀缺。为此,多领域专家团队推出了OpenCoder,一个顶级开源代码LLM。它不仅性能卓越,还提供了完整的数据处理流程和训练协议,确保研究的可复现性。OpenCoder的开放性为研究社区提供了从数据准备到模型训练的全流程指导,成为推动代码AI领域发展的关键工具。论文链接:https://arxiv.org/abs/2411.04905
376 91
|
8月前
|
缓存 算法 物联网
【论文专辑】2024年大模型推理优化论文精选第六期
本文整理了 OSDI 2024 和 SOSP 2024 中与大语言模型(LLM)推理优化相关的10篇论文,涵盖 Parrot、ServerlessLLM、dLoRA 等系统,提出的技术如 Chunked Prefill、Prefix-Caching、P/D分离等已被 vLLM 和 TensorRT-LLM 等主流推理引擎采用。这些研究解决了 LLM 推理中的冷启动延迟、资源分配、KV 缓存管理等问题,提升了推理性能和资源利用率。CodeFuse推理优化项目地址https://github.com/codefuse-ai/EasyDeploy
992 2
|
C语言
C语言---计算三角形的周长和面积--海伦公式
C语言---计算三角形的周长和面积--海伦公式
1341 0
|
JSON API 数据格式
如何利用API接口获取电商平台数据?
作为产品经理,我们需要了解电商平台的数据情况,以便更好地制定产品策略和优化用户体验。而利用API接口获取电商平台数据是一种高效、便捷的方式。本文将从以下几个方面介绍如何利用API接口获取电商平台数据。
|
搜索推荐 关系型数据库 数据库
使用sphinx search打造你自己的中文搜索引擎
Google搜索引擎建立至今已经快20年了,之后全球各类大大小小类似的搜索引擎也陆续出现、消亡。国内目前以百度为大,搜狗、360、必应等也势在必争。搜索引擎技术也发展的相当成熟,同时也就出现了很多开源的搜索引擎系统。
3349 0
|
小程序 机器人 开发者
HbuilderX uni-app开发者“ci机器人1” 小程序发布者、开发者名称如何修改?
HbuilderX uni-app开发者“ci机器人1” 小程序发布者、开发者名称如何修改?
|
芯片
蓝桥杯STC15单片机流水灯
蓝桥杯STC15单片机流水灯
482 0
|
人工智能 自然语言处理 机器人
文心一言是中文版的ChatGPT?多角度分析/猜测文心一言到底是什么!
ChatGPT爆火网络,一时间风靡不断。 AI替代人类工作的传言四起 宣布ChatGPT类似产品的公司股价大涨,这到底是什么? 国产的类似产品到底到了什么程度? 让我们一起来分析(猜猜)看!
64332 4
文心一言是中文版的ChatGPT?多角度分析/猜测文心一言到底是什么!
|
云安全 弹性计算 小程序
阿里云赊呗开通、额度及还款常见问题解答FAQ
赊呗是蚂蚁集团旗下商诚融资担保有限公司为买卖双方在赊购交易中提供的担保服务。您在阿里云采购云产品时,可以使用赊呗额度先行支付,无需立即支付现金,享受先采购后付款的上云体验。
1177 0
阿里云赊呗开通、额度及还款常见问题解答FAQ