为什么我的UIWebView不可滚动?

时间:2010-05-18 19:14:34

标签: iphone xcode iphone-sdk-3.0 uiwebview

在我迄今为止最令人沮丧的障碍中,我遇到了一个滚动的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。 。 。有用。我甚至尝试在这个项目中从头开始创建一个新的笔尖,完全相同的代码不起作用。

威士忌
探戈
狐步

任何想法???

谢谢! 托马斯

1 个答案:

答案 0 :(得分:1)

我认为您的问题与两个视图控制器同时存在有关。这会导致问题,因为视图控制器位于响应器链中。

通过添加addictionViewController.view作为子视图,您有两个控制器处于活动状态,并且您已将一个笔尖加载到另一个控件之上。这是一个奇迹,你没有看到更多的问题,而不仅仅是在网络视图中缺少滚动。

任何时候活动的所有视图都应由单个控制器控制。此规则的唯一例外是导航控制器和tabbar控制器(与其他控制器的行为不同。)对于所有其他视图,每个屏幕只有一个控制器。

您需要合并两个控制器或创建两个完全独立的视图,一次显示一个。