ビュー、テーブルビュー、およびテキストビューを持つアプリケーションを作成しました。ユーザーがボタンログインビューをクリックすると、テーブルビューに移動し、テーブルビューのセルをクリックすると、それらが移動するようにアプリケーションをセットアップしましたテキストビュー。これらすべてに対して単一の xib のみを使用しました。すべて正常に動作します。テーブル ビューに移動すると、UIBarButton には、ビューに戻る (左)、テーブル ビューに戻る (右)、クリア ボタン (右) の 3 つのボタンがあり、テーブル ビューのセルをクリックすると、テキスト ビューに移動し、 3つのボタンはすべてまだあります。私が必要とするのは、テーブルビューが表示されたときにログに戻るボタンが非表示になり、他の2つが表示され、テキストビューにいるときはメインに戻るボタンとログに戻るボタンが表示され、クリアボタンが非表示になることです。これを達成する方法はありますか?? これらは、UIBarButtons の私のコードです。
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];
    }
}