1. //
  2. // main.m
  3. // Hello
  4. //
  5. // Created by lishujun on 14-8-28.
  6. // Copyright (c) 2014年 lishujun. All rights reserved.
  7. //
  8.  
  9. // 翻页太快会有问题,未解决
  10. //Unbalanced calls to begin/end appearance transitions for <ContentViewControler: 0x8f3d570>.
  11.  
  12. #import <UIKit/UIKit.h>
  13.  
  14. // -----------------------------内容视图控制器-----------------------------
  15. @interface ContentViewControler : UIViewController
  16. @property (nonatomic,strong) UILabel *label;
  17. @property NSString *message;
  18. @end
  19.  
  20. @implementation ContentViewControler
  21. @synthesize label ;
  22. @synthesize message = _message;
  23.  
  24. -(id)initWithMessage:(NSString *)aMessage
  25. {
  26. _message = aMessage;
  27. return self;
  28. }
  29.  
  30. -(void) viewDidLoad
  31. {
  32. //[super viewDidLoad];
  33.  
  34. //创建label对象
  35. label = [[UILabel alloc]initWithFrame:CGRectMake(0.0, 0.0, 320.0, 30.0)];
  36. label.text = _message;
  37. label.center = self.view.center;
  38. label.textAlignment = UITextAlignmentCenter;
  39. label.backgroundColor = [UIColor clearColor];
  40. label.textColor = [UIColor redColor];
  41.  
  42. //在视图上添加label
  43. [self.view addSubview:label];
  44. self.view.backgroundColor = [UIColor lightGrayColor];
  45. }
  46.  
  47. -(void) updateMessage:(NSString*)aMessage
  48. {
  49. _message = aMessage;
  50. label.text = _message;
  51. }
  52. @end
  53.  
  54. // -----------------------------视图控制器对象-----------------------------
  55. @interface MyPageViewController : UIViewController <UIPageViewControllerDataSource>
  56. {
  57. int pageIndex;
  58. }
  59. @property (strong, nonatomic) UIPageViewController *pageViewControler;
  60. @property (strong, nonatomic) NSArray *array;
  61. @end
  62.  
  63. @implementation MyPageViewController
  64.  
  65. @synthesize pageViewControler = _pageViewControler;
  66. @synthesize array = _array;
  67.  
  68. -(void) viewDidLoad
  69. {
  70. [super viewDidLoad];
  71.  
  72. self.view.frame = CGRectMake(0.0f, 0.0f, 320.0f, 440.0f);
  73.  
  74. ContentViewControler *content1 = [[ContentViewControler alloc]initWithMessage:@"Hello"];
  75. ContentViewControler *content2 = [[ContentViewControler alloc]initWithMessage:@""];
  76. NSArray *array = @[content1];
  77. NSLog(@"%@",content1);
  78. _array = [[NSArray alloc]initWithObjects:content1, content2, nil];
  79.  
  80. _pageViewControler = [[UIPageViewController alloc]
  81. initWithTransitionStyle: UIPageViewControllerTransitionStylePageCurl
  82. navigationOrientation: UIPageViewControllerNavigationOrientationHorizontal
  83. options: nil];
  84.  
  85. [_pageViewControler setViewControllers:array
  86. direction:UIPageViewControllerNavigationDirectionForward
  87. animated:YES
  88. completion:NULL];
  89.  
  90. _pageViewControler.dataSource = self;
  91.  
  92. [self addChildViewController:_pageViewControler];
  93. [self.view addSubview:_pageViewControler.view];
  94.  
  95. pageIndex = ;
  96. }
  97.  
  98. //--------------- data source 方法 -----------------
  99.  
  100. - (UIViewController *)
  101. pageViewController:(UIPageViewController *)pageViewController
  102. viewControllerBeforeViewController:(UIViewController *)viewController
  103. {
  104. ContentViewControler *aViewController = (ContentViewControler*)[self changeViewControler:viewController];
  105. [aViewController updateMessage:@"i'm lishujun too"];
  106. return aViewController;
  107. }
  108.  
  109. - (UIViewController *)
  110. pageViewController:(UIPageViewController *)pageViewController
  111. viewControllerAfterViewController:(UIViewController *)viewController
  112. {
  113. ContentViewControler *aViewController = (ContentViewControler*)[self changeViewControler:viewController];
  114. [aViewController updateMessage:@"i'm lishujun"];
  115. return aViewController;
  116. }
  117.  
  118. // --- 自定义方法,在只有两个元素的数组里切换元素---
  119. -(UIViewController *) changeViewControler:(UIViewController*)viewController
  120. {
  121. int index = [_array indexOfObject:viewController];
  122. switch(index)
  123. {
  124. case :
  125. return _array[];
  126. case :
  127. return _array[];
  128. }
  129. return nil;
  130. }
  131. @end
  132.  
  133. // -----------------------------委托对象-------------------------------
  134. @interface HelloWorldAppDelegate : NSObject <UIApplicationDelegate>
  135. {
  136. IBOutlet UIWindow *window;
  137. }
  138.  
  139. @property (nonatomic, retain) UIWindow *window;
  140. @property (nonatomic, retain) MyPageViewController *viewController;
  141. @property (nonatomic, retain) UINavigationController *nav;
  142. @end
  143.  
  144. @implementation HelloWorldAppDelegate
  145.  
  146. @synthesize window;
  147. @synthesize viewController;
  148.  
  149. -(void) applicationDidFinishLaunching:(UIApplication *)application
  150. {
  151. self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen]bounds]];
  152. self.viewController = [[MyPageViewController alloc]init];
  153. //self.window.rootViewController = self.viewController;
  154.  
  155. self.nav = [[UINavigationController alloc]initWithRootViewController: viewController];
  156. [self.nav setNavigationBarHidden:YES]; //隐藏导航栏,位于视图顶部
  157. [self.nav setToolbarHidden:YES]; //隐藏工具栏,位于视图底部
  158.  
  159. self.window.rootViewController = self.nav;
  160.  
  161. [self.window makeKeyAndVisible];
  162. }
  163.  
  164. @end
  165.  
  166. // -----------------------------程序入口-----------------------------
  167. int main(int argc, char * argv[])
  168. {
  169. @autoreleasepool {
  170. return UIApplicationMain(argc, argv, nil, @"HelloWorldAppDelegate");
  171. }
  172. }

iOS:翻页效果的更多相关文章

  1. iOS:横向使用iPhone默认的翻页效果

    大致思路使用两层辅助UIView的旋转来实现添加后的View的横向翻页效果 CATransform3D transformA = CATransform3DRotate(CATransform3DId ...

  2. 关于Page翻页效果, PageViewConrtoller

    Page View Controllers你使用一个page view controller用page by page的方式来展示内容.一个page view controller管理一个self-c ...

  3. webapp应用--模拟电子书翻页效果

    前言: 现在移动互联网发展火热,手机上网的用户越来越多,甚至大有超过pc访问的趋势.所以,用web程序做出仿原生效果的移动应用,也变得越来越流行了.这种程序也就是我们常说的单页应用程序,它也有一个英文 ...

  4. 采用cocos2d-x lua 的listview 实现pageview的翻页效果之上下翻页效果

    --翻页滚动效果local function fnScrollViewScrolling( sender,eventType)    -- body    if eventType == 10 the ...

  5. css实现翻页效果

    如图,鼠标移动到图上,实现右上角翻页的效果,本例主要border边框的设置. 一.基本概念 <html> <head> <style> #demo{ width:0 ...

  6. turn.js 图书翻页效果

    今天用turn.js 做图书的翻页效果遇到问题: 图片路径总是出错 调了一天,总算调出来了 我用的thinkphp,其他的不知道是不是一样 三 个地方要改动: 1.后台查出地址 注意的地方:1.地址要 ...

  7. (旧)子数涵数·PS ——翻页效果

    一.首先在网络上下载一张图片,作为素材.这是我下载的素材,至于为什么选择这张照片呢,当然不是因为自己的一些羞羞的念头啦. 二.打开Photoshop,我使用的版本是CS3(因为CS3所占的磁盘空间较小 ...

  8. ajax翻页效果模仿yii框架

    ajax翻页效果,模仿yii框架. 复制代码代码如下: <!DOCTYPE html>  <html>  <head>  <title>ajax分页_w ...

  9. 纯css3写的仿真图书翻页效果

    对css3研究越深入,越觉得惊艳.css3说不上是万能的,但是它能实现的效果也超出了我的想象.它的高效率和动画效果的流畅性很多情况下能替代js的作用.个人习惯css3能实现的效果就不会用js,虽然在国 ...

随机推荐

  1. (转)关闭WordPress自动加载的Open Sans字体,总是连接googleapi.com,导致打开wordpress很慢

    转自http://www.xuanfengge.com/turn-off-automatic-loading-wordpress-open-sans-fonts.html 一.'在网上搜了一番,有四种 ...

  2. Openstack Ice-House 版本号说明--之中的一个 NOVA

    OpenStack Icehouse在4.17正式公布,看了下release note,发现改变不小,说明openstack还是在高速发展中,有不少新的特性增加,也有些小的剔除.以下就我所关注的项目做 ...

  3. android账号与同步之同步实现

    上一篇博文我先介绍了账号与同步的账号管理,这篇就介绍一下还有一部分.就是android给提供的sync同步机制的使用. 事实上sync机制的使用和上一篇博文中介绍的账号管理非常类似,也是基于binde ...

  4. LVM物理卷命令

    1. 物理卷命令  一般维护命令:  #pvscan //在系统的全部磁盘中搜索已存在的物理卷  #pvdisplay 物理卷全路径名称 //用于显示指定物理卷的属性. #pvdata 物理卷全路径名 ...

  5. oracle12 pl/sql

    pl/sql块介绍 介绍   块(block)是pl/sql的基本程序单元,编写pl/sql程序实际上就是编写pl/sql块,要完成相对简单的应用功能,可能只需要编写一个pl/sql块,但是如果想要实 ...

  6. [MySQL5.6] 一个简单的optimizer_trace示例

    [MySQL5.6] 一个简单的optimizer_trace示例   前面已经介绍了如何使用和配置MySQL5.6中optimizer_trace(点击博客),本篇我们以一个相对简单的例子来跟踪op ...

  7. LINUX系统全部参数 sysctl -a + 网络参数设置

    http://blog.lifeibo.com/?p=380 1.sysctl sysctl命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录/proc/sys中 [root@ser ...

  8. 软件版本中的Alpha,Beta,RC,Trial是什么意思?

    版本号: V(Version):即版本,通常用数字表示版本号.(如:EVEREST Ultimate v4.20.1188 Beta ) Build:用数字或日期标示版本号的一种方式.(如:VeryC ...

  9. IntelliJ插件安装

    1. 插件管理器在线安装 在IntelliJ插件管理页面([FileàSettingsàIDE SettingsàPlugins]),点击[Browse repositories-]按钮,在搜索框内输 ...

  10. Windows Server 2008 R2 域控制器部署指南

    一.域控制器安装步骤: 1.装 Windows Server 2008 R2并配置计算机名称和IP地址(见 附录一) 2.点击“开始”,在“搜索程序和文件”中输入Dcpromo.exe后按回车键: 3 ...