#import "ViewController.h"

#import "RYColorSelectController.h"

#import "RYMenuViewController.h"

#import "RYTitleViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

//设置菜单按钮

UIBarButtonItem *leftItem=[[UIBarButtonItem alloc]initWithTitle:@"菜单" style:UIBarButtonItemStylePlain target:self action:@selector(menuClick:)];

self.navigationItem.leftBarButtonItem=leftItem;

UIButton *btn=[[UIButton alloc]init];

[btn setTitle:@"主题" forState:UIControlStateNormal];

[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

[btn sizeToFit];

self.navigationItem.titleView=btn;

[btn addTarget:self action:@selector(titleClick:) forControlEvents:UIControlEventTouchUpInside];

}

-(void)titleClick:(UIButton*)sender

{

RYTitleViewController *title=[[RYTitleViewController alloc]init];

title.view.backgroundColor=[[UIColor alloc]initWithRed:arc4random_uniform(256)/255.0 green:arc4random_uniform(256)/255.0 blue:arc4random_uniform(256)/255.0 alpha:1];

UIPopoverController* pop=[[UIPopoverController alloc]initWithContentViewController:title];

//第一种添加方式

[pop presentPopoverFromRect:sender.bounds inView:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

}

-(void)menuClick:(UIBarButtonItem*)sender

{

RYMenuViewController *title=[[RYMenuViewController alloc]init];

title.view.backgroundColor=[[UIColor alloc]initWithRed:arc4random_uniform(256)/255.0 green:arc4random_uniform(256)/255.0 blue:arc4random_uniform(256)/255.0 alpha:1];

UIPopoverController* pop=[[UIPopoverController alloc]initWithContentViewController:title];

//第二种添加方式

//    //设置穿透哪些控件 当pop出来的控制器覆盖在其他的控件上的时候,设置被覆盖的控件也可以被点击

//    selectColorPopover.passthroughViews = @[self.btnClick];

[pop presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

}

@end

#import <UIKit/UIKit.h>

@interface RYMenuViewController : UITableViewController

@end

#import "RYMenuViewController.h"

@interface RYMenuViewController ()<UITableViewDataSource,UITableViewDelegate>

@property(nonatomic,strong)NSArray *allData;

@end

@implementation RYMenuViewController

- (void)viewDidLoad {

[super viewDidLoad];

self.tableView.dataSource=self;

self.tableView.delegate=self;

///设置展示界面大小

self.preferredContentSize = CGSizeMake(100, 200);

}

-(NSArray*)allData

{

if (_allData==nil) {

_allData=@[@"博客",@"好友",@"拖拉机",@"shangpin"];

}

return _allData;

}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

return  self.allData.count;

}

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

static NSString*inderface=@"cell";

UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:inderface];

if (!cell) {

cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:inderface];

}

cell.textLabel.text=self.allData[indexPath.row];

return cell;

}

@end

#import <UIKit/UIKit.h>

@interface RYTitleViewController : UIViewController

@end

#import "RYTitleViewController.h"

@interface RYTitleViewController ()

@end

@implementation RYTitleViewController

- (void)viewDidLoad {

[super viewDidLoad];

///设置展示界面大小

self.preferredContentSize = CGSizeMake(100, 100);

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

UIPopoverController 的使用的更多相关文章

  1. 《简单的自定义DropDatePicker》-- UIPopoverController 和 代理 以及 Block 实现。

    最近做项目为了方便项目使用,自定义的空间 写的比较粗糙.欢迎大家批评指正.以上为在项目中的实际应用 // DropDownDatePicker.h // DropDownDatePickerDemo ...

  2. UIPopoverController使用

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  3. iPad 控件UIPopoverController使用

    UIPopoverController 是iPad特有控件,(iOS7-9),在iOS9之后别废弃 使用步骤 设置内容控制器 UIPopoverController直接继承NSObject,不具备可视 ...

  4. QQ空间HD(2)-UIPopoverController其它使用

    DJTestViewController.m #import "DJTestViewController.h" #import "DJColorTableViewCont ...

  5. QQ空间HD(1)-UIPopoverController基本使用

    UIPopoverController 是iPad的专属API ViewController.m #import "ViewController.h" #import " ...

  6. iOS iPad开发之UIPopoverController的使用

    1. 什么是UIPopoverController? 是iPad开发中常见的一种控制器(在iphone上不允许使用) 跟其他控制器不一样的是,它直接继承自NSObject,并非继承自UIViewCon ...

  7. iOS:弹出窗控制器:UIPopoverController

    弹出窗控制器:UIPopoverController 截图:   实质:就是将内容控制器包装成popoverController的形式,然后在模态出来,必须给定指向目标(target.frame). ...

  8. iOS:iPad和iPhone开发的异同(UIPopoverController、UISplitViewController)

    iPad和iPhone开发的异同 1.iPhone和iPad: niPhone是手机,iPad.iPad Mini是平板电脑 iPhone和iPad开发的区别 屏幕的尺寸 \分辨率 UI元素的排布 \ ...

  9. iOS- iPad UIPopoverController

    在IPAD开发中,有一个很有趣的视图控制器,UIPopoverControllr,它的初始化必须要设置一个"内容视图",相当于它本身只是作为一个“容器”,而显示的内容还需要另外一个 ...

随机推荐

  1. POJ 3728

    http://poj.org/problem?id=3278 题目大意就是在同一坐标轴上给你一个人的坐标,一个牛的坐标,而人的运动每一次运动有三种方式,一种是后退1,一种是前进1,还有一种是坐标翻倍, ...

  2. 16进制字符串转换为3进制(扩展至K进制)

    [本文链接] http://www.cnblogs.com/hellogiser/p/16-to-3-or-k.html [题目] 写代码把16进制表示的串转换为3进制表示的串.例如x=”5”,则返回 ...

  3. MMO可见格子算法

    看注释吧,写的很清楚了 using System; using System.Collections.Generic; using System.Diagnostics; using System.L ...

  4. C++中using的作用

    [转自] http://www.cnblogs.com/yuaqua/archive/2011/10/22/2219991.html 1.在当前文件中引入命名空间 这是我们最熟悉的用法,例如:usin ...

  5. java web 学习 --第四天(Java三级考试)

    第三天的学习内容:http://www.cnblogs.com/tobecrazy/p/3453041.html jsp内置对象 out out 属性类型:JspWriter 作用域:page 作用: ...

  6. ubuntu mysql 安装和外网访问配置

    1.输入 sudo apt-get install mysql-server 安装过程中会让你输入密码,这个密码是root的密码. 安装完毕后,就可以正常使用了,如果你需要外网用户能够连接继续下面的步 ...

  7. ATS(App Transport Security)对HTTP协议屏蔽引起的问题

    一.问题描述 在学习网络处理的过程,发现代码都没错,运行时会收到如下错误提示: App Transport Security has blocked a cleartext HTTP (http:// ...

  8. codeforces 582A. GCD Table 解题报告

    题目链接:http://codeforces.com/problemset/problem/582/A 网上很多题解,就不说了,直接贴代码= = 官方题解: http://codeforces.com ...

  9. Android应用主题与横竖屏的切换

    很多App,现在都具有了横竖屏切换的功能,或者说"白天"和"黑夜"主题的切换. 实现起来也非常简单.主要需要注意的是,在切换的同时,页面的数据不能丢失,不然给用 ...

  10. 未将对象引用设置到对象的实例 启用 JIT 调试后,任何无法处理的异常

    严谨!!!! DataSet ds = salarySum.GetDataSalarySum2(libUser.SelectedValue, dtpMonth.Value.Date);         ...