Как сделать это приложение прокрутки экрана? - PullRequest
0 голосов
/ 28 сентября 2011

У меня есть экран в приложении, я кодирую структурированно так:

View
    ScrollView
        View
            label 1
            label 2
            label 3
        View
            UIImageView
        WebView

При загрузке он добавляет некоторую строку html в веб-представление и весь контент (метки, изображение, html).content) длиннее, чем высота экрана, я хотел бы позволить экрану прокручиваться вниз / вверх, когда пользователь читает контент.Вот почему я добавил SrollView, но ничего не прокручивал!

Я также сделал scroll_view.contentSize = [self.view bounds].size;, но он не работал

Есть идеи, как это сделать?

Спасибо заранее за помощь,

Стефан

Ответы [ 3 ]

2 голосов
/ 28 сентября 2011

По умолчанию UIScrollView имеет значение contentSize, равное его frame размеру.Если вы хотите, чтобы его можно было прокручивать, вы должны явно установить contentSize .

scrollView.contentSize = CGSizeMake(_width, _height);

В большинстве случаев вы не будете знать фактический размер содержимого при создании представления прокрутки.Вы можете назначить contentSize после добавления UIWebview (так как веб-представление является последним в вашем представлении прокрутки).Вы можете сделать это так,

// Add other views to scrollView
// Create and configure webView
[scrollView addSubview:webView];

float _width = scrollView.contentSize.width; // No change in width
float _height = CGRectGetMaxY(webView); // Returns (webView.frame.origin.y + webView.frame.size.height)
scrollView.contentSize = CGSizeMake(_width, _height);
1 голос
/ 28 сентября 2011

Ниже кода вы наблюдаете Здесь "Высота" объявляется динамически как ваше требование

EXample :
if([Myarray  length]>25)
{

myString = [myString stringByAppendingFormat:@"<tr><th align=\"left\">%@</tr>",str_owes ];
height += 50;
}

  webview.frame=CGRectMake(25, 153, 420, height);
 [webview loadHTMLString:myString baseURL:nil]; 

scrollview.contentSize=CGSizeMake(0, webview.frame.origin.y+webview.frame.size.height+50);
0 голосов
/ 28 сентября 2011

Вам необходимо установить UIScrollView contentSize равным размеру двух представлений + объединенного UIWebView.

Вам также необходимо убедиться, что UIWebView, еслинужного размера, а затем отключите прокрутку, так как в противном случае могут возникнуть проблемы с прокруткой (один вид прокрутки внутри другого).

Дополнительная информация: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIScrollView_Class/Reference/UIScrollView.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...