Так что до сих пор нет ответа, я просто сделал что-то похожее, хотя мой обходной путь - 100% взлом, если кто-то заходит на эту страницу, это сработало!
#nav ul li:nth-child(1) {
z-index:10;
}
#nav ul li:nth-child(2) {
z-index:9;
}
#nav ul li:nth-child(3) {
z-index:8;
}
#nav ul li:nth-child(4) {
z-index:7;
}
#nav ul li:nth-child(5) {
z-index:6;
}
#nav ul li:nth-child(6) {
z-index:5;
}
У меня просто было это и до тех пор, пока я не получил более 10 элементов, это, кажется, работает ...
Ни предложенные вами решения UIScrollView, ни UITableView не будут работать.
Если вы поместите UIWebView в UIScrollView, один или другой будет перехватывать прокрутки и прокручивать свою панель содержимого, но другой не буду. Я не уверен, какой будет, думаю, это будет UIScrollView. В любом случае, для UIScrollView нет возможности прокручивать, когда вы дойдете до конца прокрутки в UIWebView, или наоборот.
Если вы используете UITableView, UIWebView будет прокручиваться внутри своей ячейки, но UITableView выиграет ' t прокрутка вообще, иначе UIWebView вообще не будет прокручиваться, а UITableView будет. Если вы используете стиль «сгруппированной» таблицы, возможно, вы сможете прокрутить UIWebView и UITableView, но это не будет тем согласованным опытом, который вы ищете.
Единственный способ, который, на мой взгляд, мог бы сработать, - это возиться с внутренностями UIWebView и добавить свой UIView, содержащий кнопки и еще много чего, в объект прокрутки, используемый UIWebView. Это вне моего понимания, но эти дампы заголовков помогут вам начать работу. Имейте в виду, что если Apple заметит, что вы делаете, они могут отклонить ваше приложение, и, кроме того, внутренние компоненты могут измениться в любое время, нарушив ваш код. Если вы пойдете по этому пути, попробуйте закодировать его таким образом, чтобы отсутствие функциональности привело к постепенному сбою.
РЕДАКТИРОВАТЬ:
После некоторого обсуждения и экспериментов мы с OP пришли к выводу, что это очень возможно, и есть способ сделать это, который вообще не полагается на внутренние компоненты. То есть используйте ограничивающий вид прокрутки, и измените размер веб-представления после его загрузки до полного размера собственного представления содержимого. Этот размер можно найти с помощью [webView sizeThatFits: CGSizeZero].
Если вы действительно хотите использовать для этого частные лица UIWebView, у меня есть короткий пример кода добавления представления в представление документа UIWebView, поскольку я все равно все уладил :)
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after app launch
UIView* testView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)] autorelease];
UIWebView* testWebView = [[[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)] autorelease];
[testView addSubview:testWebView];
[testWebView setDelegate:self];
[testWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]]];
[window addSubview:testView];
[window makeKeyAndVisible];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
UIView *insert = [[[UIView alloc] initWithFrame:CGRectMake(0, [[webView _documentView] frame].size.height, 320, 40)] autorelease];
[insert setBackgroundColor:[UIColor greenColor]];
[[webView _documentView] addSubview:insert];
}
Я не верю, что есть какой-либо способ сделать это в рамках ограничений общедоступного SDK.