2

曲である HTML 文字列の sqlite データベースがあります。

ViewController
このビュー コントローラには、ユーザーが曲番号を入力するためのテキストとボタン、およびデータベースを検索するためのリクエストを送信するためのボタンがあります。

SongDisplay
このビュー コントローラーには、スクロール ビューに埋め込まれた Web ビューとラベルがあります。Web ビューでスクロールが無効になっています。

歌詞が表示され、スクロール ビューのサイズが正しく変更されます。ただし、Web ビューのサイズは変更されておらず、歌詞の一部しか表示されていません。これは、スクロール ビューと Web ビューを異なる色で表示しているためです。

スクロール ビューの 上部

ここでの問題の例、スクロール ビューの 下部

これは私のコードです:

- (void)webViewDidFinishLoad:(UIWebView *)aWebView
{
    CGRect frame = aWebView.frame;
    frame.size.height = 1;
    aWebView.frame = frame;

    CGSize fittingSize = [aWebView sizeThatFits:CGSizeZero];

    frame.size = fittingSize;

    [self.scroll setContentSize:fittingSize]; //scroll is the name of the scroll view

    aWebView.frame = frame;

    NSLog(@"size: %f" ,fittingSize.height);
}

Web ビューとスクロール ビューの両方のサイズを変更するにはどうすればよいですか?

4

3 に答える 3

0

viewWillAppearこのように detailView内にコンテンツをロードすることで、この問題を解決しました

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self configureView];//<-- here i am call loadHTMLString
}

- (void)configureView
{

    // disabling scroll for webview
    if ([self.detailWebView respondsToSelector:@selector(scrollView)]) {
        self.detailWebView.scrollView.scrollEnabled = NO; // available starting in iOS 5
    } else {
        for (id subview in self.detailWebView.subviews)
            if ([[subview class] isSubclassOfClass: [UIScrollView class]])
                ((UIScrollView *)subview).scrollEnabled = NO;
    }

    // setting content
    if (self.detailItem) {
        self.detailTitle.text = self.detailItem->title;
        //image scaling styles
        NSString *style=@"<style type=\"text/css\">\n"
        "img { \n"
        "   display: block;"
        "   float:none;"
        "   margin:0 auto;"
        "   max-width:100%;"
        "   height:auto;"
        "} \n"
        "</style>\n";

        [self.detailWebView loadHTMLString:[style stringByAppendingString:self.detailItem->content] baseURL:nil];
    }
}
于 2013-11-15T08:35:37.160 に答える
0

この問題は、OS X Mavericks が正式にリリースされたときに修正されました。以前の問題は、おそらくベータ リリースのバグの結果でした。

于 2014-03-08T07:25:21.227 に答える