博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】找了好久,IOS实现半翻页功能
阅读量:5839 次
发布时间:2019-06-18

本文共 3062 字,大约阅读时间需要 10 分钟。

- (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://xijcx.baihongyu.com/

你可能感兴趣的文章
【OpenCV学习】滚动条
查看>>
ofo用科技引领行业进入4.0时代 用户粘性连续8个月远甩摩拜
查看>>
兰州青年志愿者“中西合璧”玩快闪 温暖旅客回家路
查看>>
计划10年建10万廉价屋 新西兰政府:比想象中难
查看>>
甘肃发首版《3D打印职业教育教材》:校企合作育专才
查看>>
为找好心人抚养孩子 浙江一离婚父亲将幼童丢弃公园
查看>>
晚婚晚育 近20年巴西35岁以上孕妇增加65%
查看>>
读书:为了那个美妙的咔哒声
查看>>
jsp改造之sitemesh注意事项
查看>>
SpringBoot-Shiro使用
查看>>
iOS 9.0之后NSString encode方法替换
查看>>
解决 ThinkPHP5 无法接收 客户端 Post 传递的 Json 参数
查看>>
ASMFD (ASM Filter Driver) Support on OS Platforms (Certification Matrix). (文档 ID 2034681.1)
查看>>
CRM Transaction处理中的权限控制
查看>>
[转]linux创建链接文件的两种方法
查看>>
python ipaddress模块使用
查看>>
文件权限
查看>>
busybox里的僵尸进程为何那么多
查看>>
python debug
查看>>
java 连接数据库之一个完整的函数
查看>>