我已经创建了一个应用程序有一个视图,tableview和文本视图,我已经设置我的应用程序的方式,当用户点击按钮登录视图时,它将他们带到tableview并点击表格视图中的单元格将它们带到textview。我只用了单一的xib。一切正常。现在,当我导航到表视图时,UIBarButton有3个按钮,回到视图(左),回到表视图(右)和清除按钮(右),当我点击表格视图中的一个单元格时,它将转到文本视图并所有3个按钮仍然存在。我需要的是,当tableview出现按钮回到日志应该隐藏和其他2应该是可见的,当我在textview上,回到主要和回到日志应该是可见的,清除按钮应该隐藏。有没有办法做到这一点?这些是我的代码为UIBarButtons:切换可见性的UIBarButton
UIBarButtonItem *clearHistory=[[UIBarButtonItem alloc]initWithTitle:@"Clear History" style:UIBarButtonItemStyleBordered target:self action:@selector(clearTable)];
UIBarButtonItem *btnBack=[[UIBarButtonItem alloc]initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(goBack)];
self.navigationItem.leftBarButtonItem=btnBack;
UIBarButtonItem *btnBacklog=[[UIBarButtonItem alloc]initWithTitle:@"Back to log" style:UIBarButtonItemStyleBordered target:self action:@selector(goBacklog)];
self.navigationItem.rightBarButtonItems=[NSArray arrayWithObjects:clearHistory,btnBacklog, nil];
- (void)goBack {
self.tableLogView.hidden = YES;
self.navigationController.navigationBarHidden=YES;
self.viewLogToolbar.hidden=NO;
self.extendedView.hidden = YES;
}
- (void)goBacklog {
self.tableLogView.hidden = NO;
self.navigationController.navigationBarHidden=NO;
self.viewLogToolbar.hidden=YES;
self.extendedView.hidden = YES;
}
-(void)clearTable
{
if([tableData count])
{
UIAlertView *message= [[UIAlertView alloc] initWithTitle:@"Delete All History" message:@"Are you sure?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Delete", nil];
[message show];
}
else
{
UIAlertView *message= [[UIAlertView alloc] initWithTitle:@"Message" message:@"No History" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[message show];
}
}
感谢哥们,我知道我可以指望你:) – Gamerlegend