我这里有日期时间选择器的问题。我想知道如何在tableview单元格上设置日期时间选择器值。
我创建了两个控制器类。一个控制器的名称是显示类,另一个控制器的名称是日期时间。我有第二个控制器页面,其中包含名称显示和日期时间。
如果我启动应用程序,我将从显示页面传递到datetime页面,这里我从datetimepickerview上的datetime页面选择了一个值,我选择了哪个值,这个值应该在tableview单元格的1controller类上自动设置。
有人会给我一个如何做到这一点的暗示吗?
答案 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的值就像这样
将NSDate的引用传递给第二个VC2(从选择器中选择日期),即在VC1和VC2中创建NSDate中的类型变量(让它为dateVc1和dateVc2)
当您显示VC2 set dateVc2 = dateVC1
当你回到VC1使用dateVc1并将其更改为NSString时,如何更改上述链接将对你有所帮助