[英]Add Refresh Button to Navigation Bar
大家好,林先生在嘗試獲取此導航欄以包含“刷新按鈕”時費時費力,如果您可以查看下面的代碼,然后提供一些幫助,這是我的原始代碼以及為刷新而找到的UIBarbutton代碼段Google上另一個用戶項目的按鈕。 我正在遇到以下錯誤:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.tableView setBackgroundView:nil];
self.tableView.backgroundColor = [ColorHelper charcoalBackgroundImage];
UIBarButtonItem *refresh = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refresh:)];
self.navigationItem.leftBarButtonItem = refresh;
// [button release]; remove this line if you're using ARC
}
- (void) refresh
{
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self.tableView setBackgroundView:nil];
self.tableView.backgroundColor = [ColorHelper charcoalBackgroundImage];
UIBarButtonItem *button = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refresh:)];
self.navigationItem.rightBarButtonItem = button;
}
將此方法寫為此,因為您在調用中傳遞UIBarButton對象。
- (void) refresh:(id)sender
{
}
要么
UIBarButtonItem *button = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refresh)];
可能這段代碼會幫助您...
UIImage *reloadImage = [UIImage imageNamed:@"reload.png"];
UIButton *btnReload = [UIButton buttonWithType:UIButtonTypeCustom];
btnReload.bounds = CGRectMake( 10, 0, reloadImage.size.width, reloadImage.size.height );
[btnReload addTarget:self action:@selector(reloadData:) forControlEvents:UIControlEventTouchUpInside];
[btnReload setImage:reloadImage forState:UIControlStateNormal];
UIBarButtonItem *reloadButton = [[UIBarButtonItem alloc] initWithCustomView:btnReload];
self.navigationItem.leftBarButtonItem = reloadButton;
- (void)viewDidLoad
{
[super viewDidLoad];
[self.tableView setBackgroundView:nil];
self.tableView.backgroundColor = [ColorHelper charcoalBackgroundImage];
UIBarButtonItem *button = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(refresh:)];
self.navigationItem.rightBarButtonItem = button;
// [button release]; remove this line if you're using ARC
}
看來您已經在使用ARC。 因此,您應該刪除[button release]
。 你的書正在走向歷史。
您的動作選擇器和實際方法不同。 一種是refresh:
另一種是refresh
。
更改選擇器以匹配實際方法。
@selector(refresh)
快速4
let refreshButton = UIBarButtonItem(barButtonSystemItem: .refresh, target: self, action: #selector(refresh))
self.navigationItem.rightBarButtonItem = refreshButton
@objc func refresh() {
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.