我想在UIWebView的布局中添加自定义视图,以便HTML / JS / CSS使用我的自定义控件来描述“页面”的布局。理想情况下,可以放置例如一个特殊的元素触发回调到我的代码中,这个元素允许我将自己的UIView衍生物放在指定的坐标上(当然它会用父UIWebView滚动和缩放)和指定的参数集。
穷人的选择与此问题类似: Getting the position of an HTML element in UIWebView但是我不确定w.r.t布局变化有多可靠。
答案 0 :(得分:3)
好吧,除了从链接中描述的SubView获取坐标之外,唯一的另一个技巧是附加到UIWebView的ScrollView,它恰好是它的子视图,通常是0,除非你做了奇怪的事情。然后,您的视图将与您网页的其余部分一起滚动和缩放。假设您使这些部分正常工作,您应该发布您生成的代码。看到它会很有趣。
例如,在150,200
附加按钮 //Make a button
UIButton * myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
myButton.frame = CGRectMake(150, 200, 50, 30 );
myButton.titleLabel.text = @"Press me";
[myButton addTarget:self action:@selector(pressed:) forControlEvents:UIControlEventTouchUpInside];
[[[self.myWebView subviews] objectAtIndex:0] addSubview:myButton];
虽然为了健壮性,您可能需要验证self.myWebView是否具有子视图,并且在添加之前它是UIScrollView类。