Форум программистов, компьютерный форум CyberForum.ru

Не получается задать contentSize - Программирование iOS/iPhone

Восстановить пароль Регистрация
 
opi
7 / 7 / 1
Регистрация: 09.11.2010
Сообщений: 69
01.04.2013, 23:27     Не получается задать contentSize #1
Доброго времени суток. Столкнулся с проблемой, когда в UITextView необходимо сделать отступ текста. Делаю это с помощью [myTextView setContentInset:CGSizeMake(0, 20, 0, 0)]; Соответственно после этого съезжает весь текст, но эти же 20 пх смещаются вправо и появляется горизонтальный скроллинг.
Чтобы от этого избавится, я пытаюсь задать contentSizе в ширину меньше на эти же 20 пх. Попытки сделать так:
Objective-C
1
myTextView.contentSize = CGSizeMake(300, myTextView.contentSize.height);
или даже так
Objective-C
1
 [myTextView setContentSize:CGSizeMake(300, myTextView.contentSize.height)];
увенчались неудачей. Размер не уменьшается.
Даже выводил для проверки размер в лог - пишет оригинальные размеры при загрузке окна. Как быть? Или я что не так делаю?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
01.04.2013, 23:39     Не получается задать contentSize #2
CGSizeMake не очень подходит для метода setContentInset. UIEdgeInsetsMake все-таки лучше подойдет. А contentSize вообще автоматически устанавливается.
А как насчет того, чтобы вообще метод пересмотреть? Почему бы просто не положить прозрачный текст вью на просто вью, сместив на 20 пикселей вправо (с фреймом 20, 0, parentFrame.size.width - 20, parentFrame.size.height})? Тогда и фокусов никаких не понадобится.
opi
7 / 7 / 1
Регистрация: 09.11.2010
Сообщений: 69
01.04.2013, 23:48  [ТС]     Не получается задать contentSize #3
Ну с contentInset немного напутал, потому что только что набирал вручную по памяти.
А вот метод пересмотреть не вариант. Суть в чем. Пытаюсь сделать что то наподобие стандартных заметок Эппл. У них же сделаны поля слева сбоку. И если я наложу их даже отдельно на вью, то они не будут прокручиваться при скроллинге. Поэтому нужно как то побороться с этим контентСайзом :-)
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
02.04.2013, 00:23     Не получается задать contentSize #4
По почему не вариант? Положить на скролл вью и следить за контент сайзом. При его изменении:
1. scrollView.frame = CGRectMake (scrollView.frame.origin.x, scrollView.frame.origin.y, textView.contentSize.width + 20, textView.contentSize.height);
2. textView.frame = CGRectMake (20, 0, textView.contentSize.width, textView.contentSize.height);
opi
7 / 7 / 1
Регистрация: 09.11.2010
Сообщений: 69
02.04.2013, 00:40  [ТС]     Не получается задать contentSize #5
Как то оно все совсем съехавши получается :-) А точно никак нельзя работать исключительно с текствью?
Dan_banan_
10 / 10 / 1
Регистрация: 03.03.2013
Сообщений: 87
Записей в блоге: 1
02.04.2013, 01:18     Не получается задать contentSize #6
Вообще для работы с текстом надо юзать CoreText. Она позволяет разбивать текст на колонки делать отступы и так далее. Там правда код по большей части на чисто С но если разберешься то в дальнейшем послужит тебе для решения многих проблем. Я с его помощью реализовывал выделение в тексте, но тоесть не слова а как маркер заднего фона. В интернете есть пример реализации и даже слайды по работе с CoreText. скачай и изучи. Это по-поему намного грамотнее чем лепить отступы с помощью вьюх.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2013, 12:18     Не получается задать contentSize
Еще ссылки по теме:

Задать фон: a linear gradient from red (top) to green(middle) and blue (bottom)
Не получается передать результат парсинга в другой контроллер
Не получается ассоциировать view из tabcontroller с кодом Swift
Не получается задать цикл C (СИ)
Как задать минимальную высоту ячейки в table view? Swift

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
02.04.2013, 12:18     Не получается задать contentSize #7
В общем, разумеется, CoreText правильнее. Но в данном случае - как микроскопом по воробьям. ИМХО, разумеется
Yandex
Объявления
02.04.2013, 12:18     Не получается задать contentSize
Ответ Создать тему
Опции темы

Текущее время: 13:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru