2013-05-11 5 views
0

Мне нужно представление, которое содержит (название, изображение и подробности), подробности о текстовом виде.Объединение uitextview, uilabel и uiimageview в прокручиваемом объекте ios

что мне нужно, чтобы прокручивать все виды, а не только для texview. в моем приложении, если я отключил прокрутки, то TextView режется, потому что высота не является динамическим:

enter image description here

в моем коде, я ставлю так:

CGRect frame = self.detailTextView.frame; 
    frame.size.height = self.detailTextView.contentSize.height; 
    self.detailTextView.frame = frame; 
    [self.detailTextView sizeToFit]; 
    self.detailTextView.text = [[fastResults objectAtIndex:0] objectForKey:@"content"]; 

который fastResults является словарь, содержащий данные.

Мне нужен вид, как, например, БиБиСи применения:

enter image description here

SO, мне нужно, чтобы высота TextView динамична, и пусть все представление прокручивать вместе. Примечание: все эти элементы находятся в прокрутке.

это мой интерфейс строитель:

enter image description here

Спасибо за вашу помощь;

ответ

0

Прежде всего, вы должны установить текст в текстовом режиме, прежде чем изменять его размер. Таким образом, вы должны иметь что-то вроде:

self.detailTextView.text = [[fastResults objectAtIndex:0] objectForKey:@"content"]; 
    CGRect frame = self.detailTextView.frame; 
    frame.size.height = self.detailTextView.contentSize.height; 
    self.detailTextView.frame = frame; 
// [self.detailTextView sizeToFit]; you don't need this anymore 

//after you resized the self.details.textView you have to change the scrollview content size 

yourScrollView.contentSize = CGSizeMake(yourScrollView.contentSize.width, 
             yourImageHeight + yourTitleHeight + self.detailsTextView.frame.size.height); 
+0

все еще отрезанный текст, должен ли я что-то редактировать в инспекторе раскадровки? – CarinaM

+0

Вы используете autoLayout? – danypata

+0

Я приложил скриншот моего конструктора интерфейсов, в элементе зрения инспектора выбран прямоугольник рамки, что вы подразумеваете под автозапуском ??? – CarinaM

0

Вы можете получить первую высоту NSString вы ставите в TextView (see this), затем установите высоту TextView как расчетная высоту строки.
Возможно, если высота текстового поля больше высоты прокрутки viewSize, вы также должны адаптировать высоту contentSize прокрутки в качестве высоты кадра textview. А затем отключите прокрутку в текстовом режиме.

Смежные вопросы