У меня есть приложение на основе навигации с 2 UIViewControllers (контроллер-2 помещается на контроллер-1, когда пользователь выбирает конкретную строку в UITableView, отображаемом с помощью контроллера-1).
Вот'twist' … Когда контроллер-1 загружен, я хочу «предварительно извлечь» URL, содержащий HTML / javascript, в UIWebView .Изначально пользователь не увидит этот UIWebView.Вместо этого они увидят UITableView, позволяющий им щелкнуть по 5 различным параметрам (row0, row1, row2, row3, row4).
Когда пользователь выбирает строку, я хотел бы поместить новое представление в стек и «передать» HTML / Javascript в UIWebView, расположенный в этом новом представлении, и отобразить веб-страница в новом представлении.
Возможно ли передать UIWebView следующим образом?
Я пробовал следующее, которое не отображает HTML в UIWebView, поэтому любые предложения о том, как передать UIWebView (или альтернативы) было бы здорово.Я почти уверен, что установил правильные соединения в моем nib-файле для controller2.
Чтобы объяснить мои мотивы.Я хочу использовать JavaScript, чтобы скрыть определенные элементы веб-страницы в зависимости от того, какую строку нажимает пользователь.Для меня это быстрее и проще сделать 1 URL-запрос, а затем использовать javascript, чтобы скрыть различные элементы HTML, чем сделать 5 различных URL-запросов, получая 5 отдельных веб-страниц.Так что, если у этого подхода есть альтернативные мысли, это тоже было бы здорово.Я думал о том, чтобы сделать все это в пределах одного viewcontroller (добавление и удаление подпредставлений), но я бы предпочел перейти к новому представлению, чтобы использовать преимущества контроллера навигации.
TYVM !!!!
////////// controller 1 //////////////////////
- (void)viewWillAppear:(BOOL)animated {
// do other stuff ///
NSURLRequest *request_object = [NSURLRequest requestWithURL:self.url];
[self.web_view1 loadRequest:request_object];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
self.view_controller2 = [[[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:nil] autorelease];
self.view_controller2.web_view2 = self.web_view1;
[self.navigationController pushViewController:self.view_controller2 animated:YES];
}
//////////// controller 1 //////////////////////
//
///////////// portion of controller 2 header file /////////////////////////
@interface ViewController2 : UIViewController {
IBOutlet UIWebView *web_view2;
}
@property (nonatomic, retain) IBOutlet UIWebView *web_view2;
//////////// portion of controller 2 implementation file //////////////
#import "ViewController2.h"
@implementation ViewController2
@synthesize web_view2;
- (void)dealloc {
[web_view2 release], web_view2 = nil;
[super dealloc];
}
//////////// controller 2 //////////////////////////