Добавление жестко заданного значения в contentSize

#objective-c #xcode #lvalue #contentsize

#objective-c #xcode #значение lvalue #размер содержимого

Вопрос:

Я пытался сделать так, чтобы мой scrollview правильно соответствовал своему содержимому, которое включает в себя label, UIImageView и textview. Размер textview динамически изменяется в соответствии с другим текстом, поэтому я сделал размер содержимого scrollview таким же, как у textview:

 sview.contentSize = (tview.contentSize);
  

Это сработало, как ожидалось, поэтому мой scrollview близок к желаемому размеру, но мне нужно просто добавить статические 180 пикселей или около того, чтобы компенсировать метку и изображение, размер которых не меняется. Я бы предположил, что это простая 1 или 2 строки кода, но я не могу в этом разобраться. Я пытался:

 sview.contentSize  = 180;
  

и

 CGRect extra;
extra.size.height = 180;
sview.contentSize  = extra.size;
  

и несколько других комбинаций, чтобы попытаться заставить это работать, но я продолжаю получать ошибки, такие как Lvalue, требуемое в качестве левого операнда присваивания, или недопустимые операнды для binary . Я уверен, что мне не хватает простого решения, спасибо за любую помощь.

Ответ №1:

 sview.contentSize = CGSizeMake(sview.contentSize.width, sview.contentSize.height 180);
  

Комментарии:

1. Спасибо за отзыв! Это выглядит хорошо, но это говорит мне о том, что у CGSize нет элемента с именем ‘origin’.

2. На самом деле, просмотрев его еще раз, он говорит, что у него нет элемента с именем ‘origin’ или ‘size’ и «несовместимый тип для аргумента 1 ‘setContentSize:’

3. ах, я отредактировал это, чтобы исправить это .. не понимал, что это была структура CGSize, а не CGRect.

4. Да, это сработало, за исключением того, что вам не нужны (и не могут быть) атрибуты .size после «.contentSize» ов. Измените это, и ваш ответ будет идеальным. Спасибо!

5. да. проблемы с раннего утра. хах.