ビュー、テーブルビュー、およびテキストビューを持つアプリケーションを作成しました。ユーザーがボタンログインビューをクリックすると、テーブルビューに移動し、テーブルビューのセルをクリックすると、それらが移動するようにアプリケーションをセットアップしましたテキストビュー。これらすべてに対して単一の 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];
}
}