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

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
dev.nikor
25 / 26 / 1
Регистрация: 26.07.2010
Сообщений: 297
#1

Xcode AutoLayout - Программирование iOS/iPhone

28.05.2014, 16:02. Просмотров 1080. Ответов 9
Метки нет (Все метки)

Здравствуйте. Я в IB сделал интерфейс с несколькими UILabel. Самый первый label - опциональный, то есть я могу в рантайме удалить его из view. Вот в чем вопрос, если я удалю первый label, то можно ли с помощью AutoLayout сделать так, чтобы второй label встал на место первого, третий на место второго и так далее?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2014, 16:02     Xcode AutoLayout
Посмотрите здесь:

xCode глючит? Objective-C
Objective-C MultiView + xCode
Objective-C Xcode на Windows
API и XCode
XCode 4.2
xcode лагает Objective-C
xcode ViewController
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 581
28.05.2014, 16:11     Xcode AutoLayout #2
первое правило бойцовского клуба: никому и никогда не говорить о бойцовском клубе.

первое правило IOS верстальщика: всегда выключать AutoLayout.
dev.nikor
25 / 26 / 1
Регистрация: 26.07.2010
Сообщений: 297
28.05.2014, 16:13  [ТС]     Xcode AutoLayout #3
А разве как-то еще можно сделать это автоматом? Ручками не охота
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 581
28.05.2014, 16:14     Xcode AutoLayout #4
Вот в чем вопрос, если я удалю первый label, то можно ли с помощью AutoLayout сделать так, чтобы второй label встал на место первого, третий на место второго и так далее?
Для этого есть UITableView c анимацией ячеек
dev.nikor
25 / 26 / 1
Регистрация: 26.07.2010
Сообщений: 297
28.05.2014, 16:16  [ТС]     Xcode AutoLayout #5
Цитата Сообщение от noname_club Посмотреть сообщение
Для этого есть UITableView c анимацией ячеек
Дело в том, что у меня форма. Таблица не совсем для этого вроде
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 581
28.05.2014, 16:29     Xcode AutoLayout #6
Хотя возможно я не прав. Судя по туториалу.

http://www.raywenderlich.com/50317/b...n-ios-7-part-1

Может и можно сделать чтобы UILabel сами вверх летали.

Добавлено через 9 минут
если без таблицы и без AutoLayout то только через функцию "обновления состояния экрана"

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-(void) removeLabel: (UIView*) label {
    int offset = 50;
    bool ok = false;
    for (UIView * v in self.view.subviews) {
         if (![v isKindOfClass: [UILabel class]]) continue; 
         if (v == label) {
            ok = true;
            continue;
         }
         if (ok) {
             CGRect r = v.frame;
             r.origin.y -= offset;
             v.frame =  r;
         }
    }
    [label removeFromSuperview];
}
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
28.05.2014, 20:31     Xcode AutoLayout #7
Цитата Сообщение от noname_club Посмотреть сообщение
первое правило IOS верстальщика: всегда выключать AutoLayout.
Фи. Научитесь пользоваться. Потом говорите.
dev.nikor, c AutoLayout вам даже удалять ничего не нужно. Просто поставить text = nil. Все. Все остальное само подъедет.
noname_club, а бегать по subview циклом это конечно комильфо...
dev.nikor
25 / 26 / 1
Регистрация: 26.07.2010
Сообщений: 297
28.05.2014, 20:57  [ТС]     Xcode AutoLayout #8
zulkis, я AutoLayout еще не пользовался, не расскажете немного поподробнее?
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
28.05.2014, 21:02     Xcode AutoLayout #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
dev.nikor, это набор правил, которые описывают как местоположение и размеры элементов зависят друг от друга.
Описывать смысла особого нет, нужно просто попробовать.
Все достаточно просто. Нужно лишь понимать то, что вам нужно сделать, а потом выставить необходимые "ограничители" в виде constraints. В последние IB в Xcode все достаточно грамотно организовано.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2014, 13:18     Xcode AutoLayout
Еще ссылки по теме:

AutoLayout и смена ориентации
Objective-C Autolayout and constraints - некорректное расположение контроллов на разных экранах
Динамические компоненты на Scroll-е (autolayout). Вёрстка
Xcode вычисление
XCode 8

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

Или воспользуйтесь поиском по форуму:
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 581
30.05.2014, 13:18     Xcode AutoLayout #10
noname_club, а бегать по subview циклом это конечно комильфо...
пережитки IOS5
Yandex
Объявления
30.05.2014, 13:18     Xcode AutoLayout
Ответ Создать тему
Опции темы

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