如何从日期时间选择器获取值并在iPhone中的uitableviewcell上设置该值?

时间:2011-07-22 06:23:18

标签: iphone objective-c

我这里有日期时间选择器的问题。我想知道如何在tableview单元格上设置日期时间选择器值。

我创建了两个控制器类。一个控制器的名称是显示类,另一个控制器的名称是日期时间。我有第二个控制器页面,其中包含名称显示和日期时间。

如果我启动应用程序,我将从显示页面传递到datetime页面,这里我从datetimepickerview上的datetime页面选择了一个值,我选择了哪个值,这个值应该在tableview单元格的1controller类上自动设置。

有人会给我一个如何做到这一点的暗示吗?

2 个答案:

答案 0 :(得分:0)

您可以在appDelegate文件变量中设置datetimepickervalue。因此,您可以在appDelegate文件中定义一个sting,如下所示

在appDelegate.h文件中

NSString *strDate;

@property(非原子,保留)NSString * strDate;

在appDelegate.m文件中

@synthesize strDate;

现在,在您的日期选择控制器中,在viewDidLoad方法中写下以下行。

YourAppNameDelegate *appDelegate=  [[UIApplication sharedApplication] delegate];

现在,当您完成日期选择时,在返回第一个视图之前,请执行以下操作。

 appDelegate.strDate = [self convertDueDateFormat];


-(NSString *)convertDueDateFormat{
  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  [dateFormatter setLocale:[NSLocale currentLocale]];
  [dateFormatter setFormatterBehavior: NSDateFormatterBehavior10_4];
  NSString *strDateFormat = NSLocalizedString(@"dateFormat", nil);
  [dateFormatter setDateFormat:strDateFormat];
  NSString *dateString = [dateFormatter stringFromDate:pkrDueDate.date];
  return dateString;
}

现在,在firstviewcontroller.h文件中取下面的标签。

UILable *lblDate;

并在tableview的cellForRowIndexPath数据源方法中。写在下面。

cell.detailTextLabel.text = @"    ";
lblDate = cell.detailTextLabel;

并在viewWillAppear方法中写下。

lblDate.text = appDelegate.strDate;

答案 1 :(得分:0)

我希望你想在某些UI中设置日期,比如label或textField,意味着你需要在NSString中使用日期,所以要获得NSString格式NSDate转到this link

现在要获取NSDate表单UIDatePicker只需访问其属性date

现在解决你传递给VC1的值就像这样

  1. 将NSDate的引用传递给第二个VC2(从选择器中选择日期),即在VC1和VC2中创建NSDate中的类型变量(让它为dateVc1和dateVc2)

  2. 当您显示VC2 set dateVc2 = dateVC1

  3. 当你回到VC1使用dateVc1并将其更改为NSString时,如何更改上述链接将对你有所帮助