【发布时间】:2017-02-13 07:15:24
【问题描述】:
我有一个带有菜单的应用程序,它加载从本地 HTML 文件加载的各种 UIWebViews。 (此代码在 WebViewController 中)
//Code for the WebView
vesperswebview.scrollView.bounces = NO;
[[vesperswebview scrollView] setBounces:NO];
[(UIScrollView*)[vesperswebview.subviews objectAtIndex:0] setShowsVerticalScrollIndicator:NO];
NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"data/html"];
NSURL *url = [NSURL fileURLWithPath:path];
NSString *theAbsoluteURLString = [url absoluteString];
NSString *queryString = @"#?manifest=Psalmody-Morning";
NSString *absoluteURLwithQueryString = [theAbsoluteURLString stringByAppendingString:queryString];
NSURL *finalURL = [NSURL URLWithString:absoluteURLwithQueryString];
NSURLRequest *request = [NSURLRequest requestWithURL:finalURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:(NSTimeInterval)10.0];
[vesperswebview loadRequest:request];
我还有一个名为 FlatDate Picker 的自定义日期选择器:(此代码在我的主 ViewController 中),它链接到我从 GitHub 获得的导入的 FlatDatePicker 开源项目。
- (void)flatDatePicker:(FlatDatePicker*)datePicker dateDidChange:(NSDate*)date {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSCalendar *coptic = [[NSCalendar alloc] initWithCalendarIdentifier:@"coptic"];
[dateFormatter setCalendar:coptic];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
if (datePicker.datePickerMode == FlatDatePickerModeDate) {
[dateFormatter setDateFormat:@"EEEE, MMMM, dd, yyyy"];
} else if (datePicker.datePickerMode == FlatDatePickerModeDate) {
[dateFormatter setDateFormat:@"HH:mm:ss"];
} else {
[dateFormatter setDateFormat:@"EEEE, MMMM, dd, yyyy HH:mm:ss"];
}
NSString *value = [dateFormatter stringFromDate:date];
self.labelDateSelected.text = value;
}
我的问题是,当我在主视图控制器中选择日期时,如何保存该日期并将其传递到下一个视图以在我的数据库中加载 日期敏感 的适当 Javascript ?
【问题讨论】:
-
有很多方法可以实现这一点。 1)在WebViewController中定义一个变量dateString,在用户选择日期并推送WebViewController时设置。 2) 如果您总是显示两个 ViewController,那么一旦用户点击 DatePicker,就使用委托模式更新 WebViewController。 developer.apple.com/library/content/documentation/General/….
-
我已经阅读了您多次链接的文档,并且几个月来我一直遇到这个问题,您介意直接提供代码吗?你会让我的生活哈哈大笑
-
那么我需要更多关于你的实现的信息。就像我说的那样,我几乎没有假设您如何显示 WebViewController,您是否允许用户首先选择日期。然后推送 WebViewController 并显示 HTML。
-
实际上您将
NSDate文本值存储在self.labelDateSelected.text中。在WebViewController中创建一个NSDate变量,比如说NSDate *jsDate。在您推送或呈现WebViewController之前分配此值。从self.labelDateSelected.text创建日期。在WebViewController的viewDidLoad中,使用值为jsDate的查询从数据库中获取javascript。 -
分享项目(demo也可以)会编辑发给你。
标签: javascript ios objective-c uiwebview nsdate