#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. да. проблемы с раннего утра. хах.