【发布时间】:2013-12-17 15:11:41
【问题描述】:
我的主视图控制器的 UIlabel 中显示了一个日期,其中的日期选择器可以更改 UILabel 中的日期。我有根据日期更改的 UIWebViews。如何将 UILabel 中显示的日期传递给 UIWebview?
提前致谢
【问题讨论】:
-
嗯,您需要了解的第一件事是,这与
xcode IDE无关。
标签: ios uiwebview nsdate nsdatepicker
我的主视图控制器的 UIlabel 中显示了一个日期,其中的日期选择器可以更改 UILabel 中的日期。我有根据日期更改的 UIWebViews。如何将 UILabel 中显示的日期传递给 UIWebview?
提前致谢
【问题讨论】:
xcode IDE 无关。
标签: ios uiwebview nsdate nsdatepicker
为事件添加目标和选择器: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]];
NSString* 对象,因此您以后将无法修改。如果你想要它,那么你需要它是NSMutableString *string = [NSMutableString ....];,但是使用无意义的内存是没有意义的,只需使用NSString *,如果它需要修改不太可能只是重新分配它。代码越少越好,所以有必要将它写成一行。