【转】找了好久,IOS实现半翻页功能

简介:



- (void)applicationDidFinishLaunching:(UIApplication *)application {    


    // Override point for customization after application launch
PageViewController *pvController = [[PageViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:pvController];  //加载有标题的view
    navController.navigationBar.tintColor=[UIColor redColor]; //颜色设置
[window addSubview:navController.view];
    [window makeKeyAndVisible];

}

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

- (id)init
{
if (!(self = [super init])) 
return self;
self.title = @"翻页 Demo";
return self;
}

// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
UIView *contentView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.view = contentView;  //没有xib的时候需要
    
  UIView *frontView1 = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 416.0f)];
    //frontView1.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"back1.png"]];  
    frontView1 = [[[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    frontView1.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"back1.jpg"]];  
    [self.view addSubview:frontView1];
    
    UIView *frontView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 416.0f)];
    frontView.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"back2.jpg"]];
    [self.view addSubview:frontView]; 

   switchView = [[[UISwitch alloc] init] autorelease];
  [switchView setCenter:CGPointMake(200.0f,350.0f)];
  [frontView1 addSubview:switchView];
    
switchStatusLabel = [[[UILabel alloc] initWithFrame:CGRectMake(250.0f, 250.0f, 50.0f, 30.0f)] autorelease];
[frontView addSubview:switchStatusLabel];
[switchStatusLabel setTextAlignment:UITextAlignmentCenter];
switchStatusLabel.text=@"OFF";

isCurl=NO;
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]   //按钮的初始化及触发条件设置
   initWithTitle:@"Curl" 
   style:UIBarButtonItemStylePlain 
   target:self 
                                            action:@selector(doCurl)] autorelease];
}

- (void) doCurl
{
//创建CATransition对象
CATransition *animation = [CATransition animation];
//相关参数设置
[animation setDelegate:self];
[animation setSpeed:3.0f];
[animation setDuration:1.0f];
[animation setTimingFunction:UIViewAnimationCurveEaseInOut];
//向上卷的参数
if(!isCurl)
{
//设置动画类型为pageCurl,并只卷一半
[animation setType:@"pageCurl"];   
animation.endProgress=0.7;
}
//向下卷的参数
else
{
//设置动画类型为pageUnCurl,并从一半开始向下卷
[animation setType:@"pageUnCurl"];
animation.startProgress=0.7;
}
//卷的过程完成后停止,并且不从层中移除动画
[animation setFillMode:kCAFillModeForwards];
[animation setSubtype:kCATransitionFromBottom];
[animation setRemovedOnCompletion:NO];

isCurl=!isCurl;

[self.view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
[[self.view layer] addAnimation:animation forKey:@"pageCurlAnimation"];  //翻页效果
if([switchView isOn])
{
switchStatusLabel.text=@"ON";
}
else
{
switchStatusLabel.text=@"OFF";
}

}

本文转自编程小翁博客园博客,原文链接:http://www.cnblogs.com/wengzilin/archive/2012/03/28/2421523.html,如需转载请自行联系原作者

相关文章
|
10月前
|
存储 数据建模 iOS开发
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
147 1
|
10月前
|
定位技术 iOS开发
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
140 0
|
监控 Android开发 iOS开发
盘点一对一直播源码iOS系统维持平台稳定功能(一):弹性扩缩容
参考代码:弹性扩缩容如何实现?System.out.println("扩容:增加直播平台实例"); currentCapacity++; } private void scaleDown() { System.out.println("缩容:减少直播平台实例");
盘点一对一直播源码iOS系统维持平台稳定功能(一):弹性扩缩容
|
移动开发 安全 前端开发
提升iOS应用安全性:全面代码混淆功能介绍,使用Ipa Guard保护你的应用
iOS加固保护是直接针对ios ipa二进制文件的保护技术,可以对iOS APP中的可执行文件进行深度混淆、加密。使用任何工具都无法逆向、破解还原源文件。对APP进行完整性保护,防止应用程序中的代码及资源文件被恶意篡改。Ipa Guard通过修改 ipa 文件中的 macho 文件中二进制数据(代码模块配置)进行操作,无需源码。不限定开发技术平台。支持oc,swift,cocos2d-x、unity3d、quick-cocos,html5 ,react native等等各种开发技术。Ipa Guard主要包含代码混淆全面、资源文件处理、不需要源代码更安全、调试信息清理、即时测试运行。
|
3月前
|
存储 安全 数据安全/隐私保护
深入解析iOS 14隐私保护功能:用户数据安全的新里程碑
随着数字时代的到来,个人隐私保护成为全球关注的焦点。苹果公司在最新的iOS 14系统中引入了一系列创新的隐私保护功能,旨在为用户提供更透明的数据使用信息和更强的控制权。本文将深入探讨iOS 14中的几项关键隐私功能,包括App跟踪透明性、简化的隐私设置以及增强的系统安全性,分析它们如何共同作用以提升用户的隐私保护水平。
209 3
|
3月前
|
监控 搜索推荐 数据安全/隐私保护
深入探索iOS 14的隐私保护功能
本文将深入探讨iOS 14操作系统中的隐私保护功能,包括新的隐私指示器、应用程序跟踪透明度以及增强的隐私设置。我们将分析这些功能如何提高用户对个人数据的控制权,并讨论它们对应用开发者和广告行业的影响。
86 1
|
5月前
|
安全 Android开发 iOS开发
Android vs iOS:探索移动操作系统的设计与功能差异###
【10月更文挑战第20天】 本文深入分析了Android和iOS两个主流移动操作系统在设计哲学、用户体验、技术架构等方面的显著差异。通过对比,揭示了这两种系统各自的独特优势与局限性,并探讨了它们如何塑造了我们的数字生活方式。无论你是开发者还是普通用户,理解这些差异都有助于更好地选择和使用你的移动设备。 ###
104 3
|
8月前
|
人工智能 搜索推荐 iOS开发
苹果发布iOS 18 Beta 4,新增CarPlay 壁纸等多项功能改进
本文首发于公众号“AntDream”,探索iOS 18 Beta 4新功能与改进: CarPlay壁纸、iCloud设置访问优化、相机控制记忆、隐藏文件夹设计变更、深色/浅色模式图标同步、股票应用图标调整、iPhone镜像功能增强、控制中心蓝牙切换键、AssistiveTouch新增Type to Siri等,以及Apple Intelligence暗示。开发者可通过苹果计划提前体验。
137 12
|
10月前
|
Android开发 数据安全/隐私保护 iOS开发
ios和安卓测试包发布网站http://fir.im的注册与常用功能
ios和安卓测试包发布网站http://fir.im的注册与常用功能
456 0
ios和安卓测试包发布网站http://fir.im的注册与常用功能
|
iOS开发
iOS UIPageViewController 翻页背景颜色修改
iOS UIPageViewController 翻页背景颜色修改
93 0

热门文章

最新文章

  • 1
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 2
    iOS|解决 setBrightness 调节屏幕亮度不生效的问题
  • 3
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 4
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 5
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
  • 6
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 7
    iOS各个证书生成细节
  • 8
    iOS|记一名 iOS 开发新手的前两次 App 审核经历
  • 9
    iOS MapView(定位)
  • 10
    iOS 自定义字体
  • 1
    iOS|解决 setBrightness 调节屏幕亮度不生效的问题
    113
  • 2
    iOS|记一名 iOS 开发新手的前两次 App 审核经历
    20
  • 3
    iOS各个证书生成细节
    29
  • 4
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    152
  • 5
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    50
  • 6
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    66
  • 7
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    54
  • 8
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    55
  • 9
    uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
    163
  • 10
    【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到app store完整流程·不借助第三方上架工具的情况下无需花钱但需仔细学习-优雅草央千澈详解关于APP签名以及分发-们最关心的一篇来了-IOS上架app
    355