【问题标题】:NSDate and UIWebViewNSDate 和 UIWebView
【发布时间】:2013-12-17 15:11:41
【问题描述】:

我的主视图控制器的 UIlabel 中显示了一个日期,其中的日期选择器可以更改 UILabel 中的日期。我有根据日期更改的 UIWebViews。如何将 UILabel 中显示的日期传递给 UIWebview?

提前致谢

【问题讨论】:

  • 嗯,您需要了解的第一件事是,这与xcode IDE 无关。

标签: ios uiwebview nsdate nsdatepicker


【解决方案1】:

为事件添加目标和选择器:UIControlEventValueChanged,然后简单地从选择器中调用 javascript 函数。

//set the selector for datePicker event
[datePicker addTarget:self action:@selector(dateChanged)  forControlEvents:UIControlEventValueChanged]; 
.......
.......
-(IBAction)dateChanged
{
     .......
     .......
     //call the javascript function text=>data to show
     NSString  *string = [NSMutableString stringWithFormat:@"showTextFromNative( %@)", text];    
     [self.webviewOutlet stringByEvaluatingJavaScriptFromString:string];
}


//javascript function in your html
function showTextFromNative(text) 
{ 
 ....
 ....///Do what ever you want to show in webview
 ....
}

【讨论】:

  • 你为什么要NSString *string = [NSMutableString stringWithFormat:@"showTextFromNative( %@)", text];? 1)它不需要是NSMutableString它可以是NSString,你可以把它全部放到一行[self.webviewOutlet stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"showTextFromNative( %@)", text]];
  • 本地 html 文件是每天都在变化的简单读数。我想要这样,当视图控制器中我的 nsdate 中的日期更改时,所有 Web 视图也会更改为适当的日期。
  • @Popeye 是的,它可以是 nsstring 并在单行代码中合并。但有什么意义呢?顺便说一句,我通常更喜欢可变对象,以防他们需要在某个地方进行修改。
  • @MinaDawoud 我想我不完全理解你的问题。我的理解是您想在 Web 视图中显示选定的日期(按日期选择器)。如果这不是问题,你能解释或改写你的问题吗? (本地 html 文件是简单的读数..?)
  • @AshishBindal 您将其传递给 NSString* 对象,因此您以后将无法修改。如果你想要它,那么你需要它是NSMutableString *string = [NSMutableString ....];,但是使用无意义的内存是没有意义的,只需使用NSString *,如果它需要修改不太可能只是重新分配它。代码越少越好,所以有必要将它写成一行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-26
相关资源
最近更新 更多