在我迄今为止最令人沮丧的障碍中,我遇到了一个不滚动的UIWebView!我通过这个IBAction称呼它:
-(IBAction)session2ButtonPressed:(id)sender
{
Session2ViewController *session2View = [[Session2ViewController alloc]initWithNibName:@"Session2ViewController" bundle:nil];
self.addictionViewController = session2View;
[self.view insertSubview:addictionViewController.view atIndex:[self.view.subviews count]];
[session2View release];
}
在Session2ViewController.m的viewDidLoad中,我有
- (void)viewDidLoad
{
[super viewDidLoad];
// TRP - Grab data from plist
// TRP - Build file path to the plist
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Addiction" ofType:@"plist"];
// TRP - Create NSDictionary with contents of the plist
NSDictionary *addictionDict = [NSDictionary dictionaryWithContentsOfFile:filePath];
// TRP - Create an array with contents of the dictionary
NSArray *addictionData = [addictionDict objectForKey:@"Addiction1"];
NSLog(@"addictionData (array): %@", addictionData);
// TRP - Create a string with the contents of the array
NSString *addictionText = [NSString stringWithFormat:@"<DIV style='font-family:%@;font-size:%d;'>%@</DIV>", @"Helvetica", 18, [addictionData objectAtIndex:1]];
addictionInfo.backgroundColor = [UIColor clearColor];
// TRP - Load the string created and stored into addictionText and display in the UIWebView
[addictionInfo loadHTMLString:addictionText baseURL:nil];
// TODO: MAKE THIS WEBVIEW SCROLL!!!!!!
}
在笔尖中,我将我的网络视图连接到代表和插座。当我运行我的主项目时,带有我的HTML代码的plist显示,但不滚动。我将这段代码复制并粘贴到一个新项目中,以完全相同的方式连接笔尖,以及badda-boom badda-bing。 。 。有用。我甚至尝试在这个项目中从头开始创建一个新的笔尖,完全相同的代码不起作用。
威士忌
探戈
狐步
任何想法???
谢谢! 托马斯
答案 0 :(得分:1)
我认为您的问题与两个视图控制器同时存在有关。这会导致问题,因为视图控制器位于响应器链中。
通过添加addictionViewController.view
作为子视图,您有两个控制器处于活动状态,并且您已将一个笔尖加载到另一个控件之上。这是一个奇迹,你没有看到更多的问题,而不仅仅是在网络视图中缺少滚动。
任何时候活动的所有视图都应由单个控制器控制。此规则的唯一例外是导航控制器和tabbar控制器(与其他控制器的行为不同。)对于所有其他视图,每个屏幕只有一个控制器。
您需要合并两个控制器或创建两个完全独立的视图,一次显示一个。