UIPopoverController只能在ipad设备上面使用;作用是用于显示临时内容,特点是总是显示在当前视图最前端,有一个箭头可以指示从哪一个button弹出来的,当单击界面的其他地方时自动消失。
(1)创建两个UIViewController类(ListViewController和oneViewController)
ListViewController作为
一个弹出的控制器视图
显示
[objc]
#import <UIKit/UIKit.h>
@interface ListViewController : UIViewController <UITableViewDelegate,UITableViewData
source>
@property (strong,nonatomi
C)UITableView *favoriteTableView;//收藏夹table view
:rgb(51,nonatomi
C)NSMutableArray *list;//收藏夹list
@end
[objc]
#import "ListViewController.h"
#import "threeViewController.h"
@interface ListViewController ()
@implementation ListViewController
- (id)initWithNibName:(NS
String *)nibNameOrNil bundle:(NSBundle *)nibBund
LeorNil
self = [super initWithNibName:nibNameOrNil bundle:nibBund
LeorNil];
// Custom initialization
}
return self;
}
- (void)viewDidLoad
[super viewDidLoad];
self.list = [[NSMutableArray alloc] initWithOb
jects:@"willingseal",@"
http://blog.csdn.net/willingseal?
viewmode=contents",@"有些事不
是因为看到了希望才去坚持,而是坚持了才会看到了希望",@"爱情はひとりの诈欺师に恋をしていた馬鹿な童话…バカ愛情はひとりの詐欺師に恋をしていた馬鹿な童話",nil nil];
[self addTableview];
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
// Dispose of any
resources that can be recreated.
//初始化table view
self.favoriteTableView = [[UITableView alloc]initWithFrame:CGRectMake(0,400,500) style:UITableViewStylePlain];//初始化tabview
// self.favoriteTableView.center =CGPointMake(self.view.center.x,self.view.center.y-70
);//tableview的中心位置
self.favoriteTableView.delegate = self;
self.favoriteTableView.data
source=self;
self.favoriteTableView.scrollEnabled=YES;//tabview是否滑动
// self.favoriteTableView.layer.cornerRadius=1
5;//圆角大小
// _loginTableView = TableView;
self.favoriteTableView.
BACkgroundColor = [UIColor colorWithPatternImage:[UIImage imag
enamed:@"bg.png"]];
[self.view addSubview:self.favoriteTableView];
#pragma mark - Table view data
source
//行高
- (CGFloat)tableView:(UITableView *)tableView heightForRowA
TindexPath:(NSIndexPath *)indexPath
return 50;
//多少个section
- (NS
Integer)
numberOfSectionsInTableView:(UITableView *)tableView
return 1;
//section里面有多少行
- (NS
Integer)tableView:(UITableView *)tableView
numberOfRowsInSection:(NS
Integer)sectionIndex
nSLog(@"list is :%lu",[self.list count]
);
return [self.list count];;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowA
TindexPath:(NSIndexPath *)indexPath
static NS
String *CellIdentifier = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reus
EIDentifier:CellIdentifier];
cel
l.SELEctionStyle = UITableViewCell
SELEctionStyleNone;
return cell;
//点击某个table view cell
- (void)tableView:(UITableView *)tableView did
SELEctRowA
TindexPath:(NSIndexPath *)indexPath
{
nS
String *
SELEctStr =[[NS
String alloc] initWithFormat:@"%@",[self.list ob
jectA
Tindex:indexPath.row]];
nSLog(@"%@",[self.list ob
jectA
Tindex:indexPath.row]
);
UIAlertView *alert = [[UIAlertView alloc] initWith
title:@"willingseal"
message:
SELEctStr delegate:self cancelButton
title:@"ok" otherButton
titles: nil nil];
[alert show];
(3)点击button,弹出表
@interface oneViewController : UIViewController <UIPopoverControllerDelegate>
{
UIPopoverController *popoverController;
- (I
BACtion)tap:(UIButton *)sender;
- (I
BACtion)tap:(UIButton *)sender
{
ListViewController *listVC =[[ListViewController alloc] init];//初始化ListViewController
popoverController = [[UIPopoverController alloc] initWithContentViewController:listVC];//初始化popoverController-UIPopoverController该控制器的
内容必须由
一个控制器ViewController提供
[popoverController setPopoverContentSize:CGSizeMake(400,500)];//设置popoverController的
内容大小
[popoverController setDelegate:self];//设置popoverController代理
[popoverController presentPopoverFromRect:sender.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];//-第三个参数permittedArrowDirections是设置那个款箭头的方向,可以向上/下/左/右不同方向弹出--弹出带箭头的窗口,这一种
方法是用在view上弹出窗口,另一种用在导航栏(UIBarButtonItem)弹出窗口- (void)presentPopoverFromBarButtonItem:(UIBarButtonItem *)item permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated;
#pragma mark - popoverController
- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController
return YES;
//让它消失
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
nSLog(@"
关闭了 PopverController "
);
}