Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

AutoLayout и смена ориентации - Программирование iOS
Добрый день! Использую AutoLayout. При повороте экрана все растягивается как надо. Но на элементы нельзя нажать, тоесть не происходят...

Динамические компоненты на Scroll-е (autolayout). Вёрстка - Программирование iOS
Здравствуйте. В сториборде есть вьюха freeform вышиной примерно 700 на ней во всю растянут scrollview на нем лежит динамически меняющаяся...

XCode 4.2 - Программирование iOS
Утро доброе, у меня такая проблема.. не могу найти исполняемый файл в проекте на подобие того, что в Visual Studio, например:...

о Xcode - Программирование iOS
как правильно настроить Xcode.Я купил годовой сертификат

XCode 8 - Программирование iOS
Здравствуйте, может кто сталкивался с такой проблемой, Обновил версии Xcode c 7 на 8 в связи с обновлением на телефоне оси на 10.1 . После...

API и XCode - Программирование iOS
Подскажите пожалуйста, как работать с api в xcode в частности интересует api instagram

9
noname_club
103 / 94 / 10
Регистрация: 01.05.2013
Сообщений: 598
28.05.2014, 16:11 #2
первое правило бойцовского клуба: никому и никогда не говорить о бойцовском клубе.

первое правило IOS верстальщика: всегда выключать AutoLayout.
0
dev.nikor
25 / 26 / 1
Регистрация: 26.07.2010
Сообщений: 297
28.05.2014, 16:13  [ТС] #3
А разве как-то еще можно сделать это автоматом? Ручками не охота
0
noname_club
103 / 94 / 10
Регистрация: 01.05.2013
Сообщений: 598
28.05.2014, 16:14 #4
Вот в чем вопрос, если я удалю первый label, то можно ли с помощью AutoLayout сделать так, чтобы второй label встал на место первого, третий на место второго и так далее?
Для этого есть UITableView c анимацией ячеек
0
dev.nikor
25 / 26 / 1
Регистрация: 26.07.2010
Сообщений: 297
28.05.2014, 16:16  [ТС] #5
Цитата Сообщение от noname_club Посмотреть сообщение
Для этого есть UITableView c анимацией ячеек
Дело в том, что у меня форма. Таблица не совсем для этого вроде
0
noname_club
103 / 94 / 10
Регистрация: 01.05.2013
Сообщений: 598
28.05.2014, 16:29 #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];
}
1
zulkis
683 / 610 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
28.05.2014, 20:31 #7
Цитата Сообщение от noname_club Посмотреть сообщение
первое правило IOS верстальщика: всегда выключать AutoLayout.
Фи. Научитесь пользоваться. Потом говорите.
dev.nikor, c AutoLayout вам даже удалять ничего не нужно. Просто поставить text = nil. Все. Все остальное само подъедет.
noname_club, а бегать по subview циклом это конечно комильфо...
1
dev.nikor
25 / 26 / 1
Регистрация: 26.07.2010
Сообщений: 297
28.05.2014, 20:57  [ТС] #8
zulkis, я AutoLayout еще не пользовался, не расскажете немного поподробнее?
0
zulkis
683 / 610 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
28.05.2014, 21:02 #9
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
dev.nikor, это набор правил, которые описывают как местоположение и размеры элементов зависят друг от друга.
Описывать смысла особого нет, нужно просто попробовать.
Все достаточно просто. Нужно лишь понимать то, что вам нужно сделать, а потом выставить необходимые "ограничители" в виде constraints. В последние IB в Xcode все достаточно грамотно организовано.
1
noname_club
103 / 94 / 10
Регистрация: 01.05.2013
Сообщений: 598
30.05.2014, 13:18 #10
noname_club, а бегать по subview циклом это конечно комильфо...
пережитки IOS5
0
30.05.2014, 13:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2014, 13:18
Привет! Вот еще темы с ответами:

Вёрстка в xCode - Программирование iOS
Делал несоклько приложений под андроид. Там есть слои, Relative, Frame, Linear... А так же выравнивания top, botttom, center. Ну и...

Xcode вычисление - Программирование iOS
Ребят подскажите что сделать, вот код: - (IBAction)dumetr18:(id)sender { _dumetr18Weight = _dumetr18Weight + 1; NSString...

xcode ViewController - Программирование iOS
Подскажите, пожалуйста, как из View выполнить ViewController -(void)googleStart без init ???????? если делать так то ViewController...

Map Xcode - Программирование iOS
Всем привет! Подскажите, как можно обработать нажатие на метку расположенную на карте при использовании встроенных apple карт. ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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