- (void)createBarButtons
{
UIBarButtonItem *myCheckButton = [[UIBarButtonItem alloc] initWithTitle:@"Check Records" style:UIBarButtonItemStylePlain target:self action:@selector(checkRecordsAction)];
UIBarButtonItem *mySaveButton = [[UIBarButtonItem alloc] initWithTitle:@"Save" style:UIBarButtonItemStylePlain target:self action:@selector(saveAction)];
[mySaveButton setTintColor:[UIColor colorWithRed:34.0/255.0 green:97.0/255.0 blue:221.0/255.0 alpha:1]];
NSArray *myButtonArray = [[NSArray alloc]initWithObjects:mySaveButton, myCheckButton,nil];
self.navigationItem.rightBarButtonItems = myButtonArray;
}
我不知道这个问题是否属于过于本地化的类别。但是请帮帮我。所以就像你看到的那样,我创建了两个条形按钮项。保存只是将数据保存到 CoreData,工作得很好。但是检查记录应该启动一个新的 UITableviewcontroller。
- (void)checkRecordsAction
{
NSLog(@"the new stack action");
ITMSyncRecordsTVC *syncRecords = [[ITMSyncRecordsTVC alloc]init];
// [self presentViewController:syncRecords animated:YES completion:^{
// self.navigationController.view.superview.bounds = CGRectMake(0, 0, 250, 250);}];
[self.navigationController pushViewController:syncRecords animated:YES];
}
ITMSyncRecordsTVC
是一个TableViewController
带有“后退”按钮的按钮。因此,当我单击检查记录时,它会启动一个tableview
控制器,但其中没有值,并且它没有显示我放在上面的“后退”栏按钮。到目前为止,我一直在使用 segues 和 storyboards 就好了。但是我不知道如何在没有它们的情况下启动新的视图控制器。我第一次进入 ios 是 ios6。我错过了一些我不知道的东西。所以让我知道如何调用/启动一个新的 TableViewController。在 android 中,我们有可以解决问题的意图。如果您需要更多信息,请告诉我。谢谢... 编辑:所以我编辑了我的checkRecordsAction
代码。
编辑 :
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
ITMOrdersVC *ordersVC = [[ITMOrdersVC alloc]init];
NSLog(@"at line 188 %d",indexPath.row);
if(indexPath.row < self.salesOrdersArray.count)
{
ordersVC.salesOrder = [self.salesOrdersArray objectAtIndex:indexPath.row];
NSLog(@"the sales purchase order number is %@",ordersVC.salesOrder.purchaseOrderNumber);
NSLog(@"done - 140");
[self.navigationController pushViewController:ordersVC animated:YES];
}
}
因此,在 ITMSyncRecordsTVC 表视图控制器上选择一行时,它会执行上述操作。我得到一个新的 ITMOrdersVC 屏幕,左侧有“后退”栏按钮和 2 个动态生成的栏按钮。我得到了 2 个动态生成的栏按钮,但没有后面。我想一旦我单击该行,它将“返回”到我将 salesOrder 对象传递到的上一个屏幕。我的下一步是检查我是否从 TVC 获取 salesorder 对象,然后加载它。所以基本上只有2个屏幕。第一个屏幕(保存,检查同步记录)。第二个屏幕单击 a.) 返回(转到第一个屏幕..什么都不做)或 b.) 单击第二个屏幕中的一行并填充第一个屏幕而不使用条形按钮。如果不清楚请问我。