带有 Popovercontroller 的 BarButtonItem?

Posted

技术标签:

【中文标题】带有 Popovercontroller 的 BarButtonItem?【英文标题】:BarButtonItem With Popovercontroller? 【发布时间】:2012-11-27 15:19:18 【问题描述】:

我有一个 BarButtonItem 和一个 Popovercontroller。问题是当我点击按钮时我可以弹出一些东西有人可以帮助我吗?我会发布一些我此刻拥有的代码。

-(void) showPop:(id)sender NSLog(@"test");

UIPopoverController *pop = [[UIPopoverController alloc]  initWithContentViewController:popover];
[pop setDelegate:self];
[pop presentPopoverFromBarButtonItem:button permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];



- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) 
    //self.title = NSLocalizedString(@"Nieuws", @"Nieuws");
    /*if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) 
        self.clearsSelectionOnViewWillAppear = NO;
        self.contentSizeForViewInPopover = CGSizeMake(320.0, 600.0);
    */




 return self;


- (void)viewDidLoad

[super viewDidLoad];

_loading = NO;

self.title = @"Agenda";

if (_refreshHeaderView == nil) 

    EGORefreshTableHeaderView *view = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.tableView.bounds.size.height, self.view.frame.size.width, self.tableView.bounds.size.height)];
    view.delegate = self;
    [self.tableView addSubview:view];
    _refreshHeaderView = view;


//  update the last update date


self.navigationController.navigationBar.tintColor = [UIColor darkGrayColor];
if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)])
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"Bar-bg.png"] forBarMetrics:UIBarMetricsDefault];


[_refreshHeaderView refreshLastUpdatedDate];

self.tableView.contentInset = UIEdgeInsetsMake(66.0f, 0.0f, 0.0f, 0.0f);
[_refreshHeaderView egoRefreshScrollViewDidEndDragging: self.tableView];


//[self loadData];

 //[popButton addTarget:self action:@selector(showPop:) forControlEvents:UIControlEventTouchUpInside];

button = [[UIBarButtonItem alloc] initWithTitle:@"Filter" style:UIBarButtonItemStyleBordered target:self action:@selector(showPop)];
self.navigationItem.leftBarButtonItem = button;

【问题讨论】:

【参考方案1】:

可能只是一个错字,但是当您创建按钮时,选择器应该是 showPop:(带有冒号)而不是 showPop。

【讨论】:

以上是关于带有 Popovercontroller 的 BarButtonItem?的主要内容,如果未能解决你的问题,请参考以下文章

PopoverController Ionic 4?

为 PopoverController 子类化 UITableViewController

当 iPad 旋转时,ActionSheet 的 PopoverController 不会停留在窗口的中心

Swift iOS - 如何将 UIPopoverBackgroundView 类中的方法连接到不同类中的 PopoverController?

带有 MGSplitViewController 的弹出窗口 - 方向问题

在以 Uinavigationcontroller 作为视图的 Popovercontroller 中更改导航栏和工具栏的色调