UIPopover 的简单用法

来源:互联网 发布:vb数字金字塔 编辑:程序博客网 时间:2024/06/06 00:30

popover是弹出窗口并不在页面具体存在

popover可以弹出UIview UITableView 等控制器所控制的页面所显示的内容

//下面是一个纯代码的演示 其中UINavigation 已经定义 但没有展示出来

#import "DetailViewController.h"

#import "SubTableViewController.h"

@interface DetailViewController ()

@property (nonatomic,strong)UIWebView *web;

//设置属性

@property (nonatomic,strong)UIPopoverController *pop;

@property (nonatomic,strong)UIBarButtonItem *btnRight;

@end

 //导航栏barbutton的创建

    UIBarButtonItem *rightBtn = [[UIBarButtonItemalloc]initWithTitle:@"选择语言"style:UIBarButtonItemStylePlaintarget:selfaction:@selector(btnPress:)];

    self.navigationItem.rightBarButtonItem = rightBtn;

    self.btnRight = rightBtn;

    

    //popover的内容控制器

    SubTableViewController *tbVC = [[SubTableViewControlleralloc]init];

    //popover的创建

    UIPopoverController *pop = [[UIPopoverControlleralloc]initWithContentViewController:tbVC];

    //popover的弹出窗口设定

    pop.popoverContentSize =CGSizeMake(200,200);

    self.pop = pop;


}

-(void)btnPress:(id)sender

{

    //判断popover是否弹出并做相应的操作

    if (self.pop.popoverVisible) {

        //关闭页面

        [self.popdismissPopoverAnimated:YES];

    }

   else

   {

       //设定弹出的位置及弹出的方向

       [self.poppresentPopoverFromBarButtonItem:self.btnRightpermittedArrowDirections:UIPopoverArrowDirectionAnyanimated:YES];

   }

}



//pop内容控制器 所显示的页面

#import "SubTableViewController.h"


@interface SubTableViewController ()

@property (nonatomic,copy)NSArray *arr;

@end


@implementation SubTableViewController


- (void)viewDidLoad {

    [superviewDidLoad];

    

    self.arr =@[@"English",@"Chinese",@"French",@"Spanish"];

    

    [self.tableViewregisterClass:[UITableViewCellclass] forCellReuseIdentifier:@"Cell"];

}


- (void)didReceiveMemoryWarning {

    [superdidReceiveMemoryWarning];

  

}




- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {


    return 1;

}


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


    return self.arr.count;

}



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

    UITableViewCell *cell = [tableViewdequeueReusableCellWithIdentifier:@"Cell"forIndexPath:indexPath];

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

 

    

    return cell;

}



@end
0 0
原创粉丝点击