У меня есть приложение с вкладкой и веб-просмотром. Я пытаюсь заставить приложение вернуться к URL-адресу по умолчанию каждый раз, когда пользователь удаляет панель. Сейчас я перехватываю краны и запускаю метод, однако это не влияет на мой веб-просмотр (это не загрузка страницы). Метод работает правильно при вызове из класса, но не тогда, когда он вызывается из моего делегата приложения, где я перехватываю краны.WebView не отвечает при вызове метода
Я подозреваю, что это то, что я создаю объект SecondViewController, что он не указывает на веб-просмотр, но я не знаю, что я делаю неправильно.
Вот код:
Второй заголовок вид (где расположен WebView)
@interface SecondViewController : UIViewController {
IBOutlet UIWebView *secondView;
}
- (void) goToPage;
Вторая реализация вида
#import "SecondViewController.h"
@implementation SecondViewController
- (void)awakeFromNib
{
[self goToPage];
}
- (void) goToPage
{
NSLog(@"go to page");
NSString *newURL = [NSString stringWithFormat:@"http://pageurl"];
[secondView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:newURL]]];
}
Мое приложение делегат, где я называю класс SecondViewController метод:
#import "RedDragonAppDelegate.h"
#import "SecondViewController.h"
@implementation RedDragonAppDelegate
@synthesize window;
@synthesize rootController;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Override point for customization after application launch
[window addSubview:rootController.view];
}
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
NSLog(@"didSelectViewController %d", rootController.selectedIndex);
SecondViewController * sv = [[SecondViewController alloc] init];
if (rootController.selectedIndex == 0){
//NSLog(@"if in didSelectViewController 0");
} else if (rootController.selectedIndex == 1) {
//NSLog(@"if in didSelectViewController 1");
[sv goToPage];
}
}
Спасибо за помощь!
Я предполагаю, что вы действительно видите 'go to page' в своем журнале, так что вы знаете, что вызывается' goToPage'. Являются ли исходный URL и новый URL одинаковыми? Выполняется ли вызов из 'goToPage', если вы заменили' newURL' (в 'NSURL URLWithString:') с помощью, например, '@" http://www.google.com/ "'? – Isaac
haha Я бы не опубликовал его, если я не проверял очевидное :) Действительно, я знаю, что функция выполняется, и я уверен, что новый URL-адрес не загружается. Я все же выяснил половину проблемы.Когда я изменил [ptr goToPage]; [self goToPage]; он начал работать, но ... мне все равно придется называть его из другого класса. Когда я создаю объект следующим образом: SecondViewController * ptr = [[SecondViewController alloc] init]; функция выполняется, однако веб-просмотр не активируется. :( – AragornSG
Как установить 'secondView'? Может быть, проблема с сохранением/выпуском/автозапуском? – Isaac