1

を作成し、サブビューとしてUIScrollView4 つ追加します。UIWebViews

私は2つのことをしたいと思います:

  1. 作成中にそれぞれにタグWebViewを付けて、後で対処しますUIScrollView
  2. 特定の時点で ( scrollViewWillBeginDragging) JavaScript をUIWebViewによって現在表示されているに送信しますUIScrollview

サブビューにタグを付ける方法も、それに対処する方法もわかりません。だから私の2つの質問は次のとおりです。

Q1. サブビューに適切にタグを付ける方法 (UISCrollView に追加している間)?

Q2. コマンドをUIScrollView内のサブビューにアドレス指定する方法は? ((最良のケース: 現在表示されているもの))

ご協力いただきありがとうございます!

おそらく、実際のコードを見ると、質問が明確になります。

を作成して(scrollView1)UIWebviewsに追加するために使用するコードは次のとおりです。UIScrollview

- (void)viewDidLoad{

scrollView1.delegate = self;
scrollView1.pagingEnabled = YES;
scrollView1.delaysContentTouches = NO;

NSInteger numberOfViews = 4;

for (int i = 0; i < numberOfViews; i++) {

CGFloat yOrigin = i * self.view.frame.size.width;
UIWebView *WebView1 = [[UIWebView alloc] initWithFrame:CGRectMake(yOrigin, 0, self.view.frame.size.width, self.view.frame.size.height)];

NSString *path = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"page_%d", i] ofType:@"html"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[WebView1 loadRequest:request];


//HERE I'M TRYING TO TAG THE VIEW

WebView1.tag = i;

[scrollView1 addSubview:awesomeView];
[WebView1 release];

}
scrollView1.contentSize = CGSizeMake(self.view.frame.size.width * numberOfViews, self.view.frame.size.height);

(scrollView1)UIWebviews内のアドレス指定に使用したいコードは次のとおりです。UIScrollview

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView1{

NSString *JavaScriptCommand = [NSString stringWithFormat:@"player.pause();"];

<strong>//HERE I'M TRYING TO ACCESS THE TAGGED VIEW</strong>

[scrollView1.????? stringByEvaluatingJavaScriptFromString:JavaScriptCommand];
}
4

1 に答える 1

0

これはうまくいくはずです

int i = // the tag of the webview you want to address   
[[scrollView1 viewWithTag:i] stringByEvaluatingJavaScriptFromString:JavaScriptCommand];

ビューコントローラークラスのメンバーに現在表示されている UIWebView のタグを保存できます。

于 2011-06-24T15:21:36.963 に答える