ios-使用iPad专用API(UIPopoverController)控制器
来源:互联网 发布:淘宝网妈妈斗篷 编辑:程序博客网 时间:2024/06/08 16:42
iPhone和iPad都使用同一个操作系统——ios,因此,它们的API基本上是一样的,但有一些是iPad专用的,比如UIPopoverController控制器,UIPopoverController控制器用于呈现“漂浮”类型的视图。
代码实现如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ _popViewCtl = [[[PopViewController alloc] init] autorelease]; UINavigationController *navCtl = [[[UINavigationController alloc] initWithRootViewController:_popViewCtl] autorelease]; self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.window.backgroundColor = [UIColor whiteColor]; self.window.rootViewController = navCtl; [self.window makeKeyAndVisible]; return YES;}
//// PopViewController.h//#import <UIKit/UIKit.h>@interface PopViewController : UIViewController@end
//// PopViewController.m//#import "PopViewController.h"#import "KFTableViewController.h"@interface PopViewController ()@end@implementation PopViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { } return self;}- (void)viewDidLoad{ [super viewDidLoad]; [self initNavItem];}- (void)initNavItem{ self.title = @"Pop视图"; UIBarButtonItem *barBtnLeft = [[UIBarButtonItem alloc] initWithTitle:@"Print" style:UIBarButtonItemStylePlain target:self action:@selector(printOnClick:)]; UIBarButtonItem *barBtnRight = [[UIBarButtonItem alloc] initWithTitle:@"Color" style:UIBarButtonItemStylePlain target:self action:@selector(colorOnClick:)]; self.navigationItem.leftBarButtonItem = barBtnLeft; self.navigationItem.rightBarButtonItem = barBtnRight;}- (void)printOnClick:(id)sender{ // 初始化表视图控制器,如果要在UITableViewController中做一些事情,需要自定义UITableViewController一个控制器 UITableViewController *tableViewCtl = [[UITableViewController alloc] init]; tableViewCtl.title = @"表视图"; // 初始化导航控制器 UINavigationController *navCtl = [[UINavigationController alloc] initWithRootViewController:tableViewCtl]; // 初始化“漂浮”控制器 UIPopoverController *popoverCtl = [[UIPopoverController alloc] initWithContentViewController:navCtl]; [popoverCtl presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; [tableViewCtl release]; [navCtl release]; /* presentPopoverFromBarButtonItem: permittedArrowDirections: animated: 指定一个按钮作为锚点来呈现“漂浮”视图 dismissPopoverAnimated: 关闭“漂浮”视图 popoverVisible 判断“漂浮”视图是否可见 popoverArrowDirection 判断“漂浮”视图箭头的方向 */}- (void)colorOnClick:(id)sender{ // 初始化表视图控制器,如果要在UITableViewController中做一些事情,需要自定义UITableViewController一个控制器 KFTableViewController *tableViewCtl = [[KFTableViewController alloc] init]; tableViewCtl.title = @"选择你喜欢的颜色"; // 初始化导航控制器 UINavigationController *navCtl = [[UINavigationController alloc] initWithRootViewController:tableViewCtl]; // 初始化“漂浮”控制器 UIPopoverController *popoverCtl = [[UIPopoverController alloc] initWithContentViewController:navCtl]; [popoverCtl presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; [tableViewCtl release]; [navCtl release];}- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning];}@end
//// KFTableViewController.h//#import <UIKit/UIKit.h>@interface KFTableViewController : UITableViewController@end
//// KFTableViewController.m//#import "KFTableViewController.h"@interface KFTableViewController ()@end@implementation KFTableViewController- (id)initWithStyle:(UITableViewStyle)style{ self = [super initWithStyle:style]; if (self) { } return self;}- (void)viewDidLoad{ [super viewDidLoad];}- (NSInteger)numberOfSectionsInTableView{ return 1;}- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return 3;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *indentifer = @"myCell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:indentifer]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:indentifer] autorelease]; } int iRow = [indexPath row]; NSString *str = @""; if (iRow == 0) { str = @"红色"; } else if (iRow == 1) { str = @"蓝色"; } else if (iRow == 2) { str = @"黄色"; } cell.textLabel.text = str; return cell;}- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning];}@end
至此,iPad专用API(UIPopoverController)控制器介绍已经完毕,程序运行效果图如下:
0 0
- ios-使用iPad专用API(UIPopoverController)控制器
- ios-使用iPad专用API(UISplitViewController)控制器
- iPad开发 - UIPopoverController控制器
- iOS-UIPopoverController(ipad)
- iPad如何使用UIPopoverController
- ipad 中的 UIPopoverController的使用
- iPad开发,UIPopoverController的使用
- ios-day25-02(iPad开发之UIPopoverController)
- iOS UIPopoverController的使用
- iOS UIPopoverController的使用
- UIPopoverController和UIActionSheet在iPad中使用
- iOS UIPopOverController的使用问题
- iOS中UIPopoverController的使用
- iOS开发 - 气泡控制器 IPAD
- iPad : 使用UIPopoverController弹窗支持拍照效果
- (一〇六)iPad开发之UIPopoverController的使用
- UIPopoverController 的使用方法 Ipad
- ipad类UIPopoverController
- PHP debug
- ASP.NET中获取登录用户ID 用户身份验证
- 如何用C语言获得整数所需的最少二进制位数
- Java 8简明教程
- Windows编程基础 第十一章 动态库 静态库
- ios-使用iPad专用API(UIPopoverController)控制器
- python 源码学习心得
- 关于毕业设计题目选择
- deque的用法及其与vector、list应用比较
- leetcode:Longest Consecutive Sequence
- 求子数组的最大和
- Asynchronous Android读书笔记六Long-running Tasks with Service
- sysstat 命令实例
- Java线程池的使用