2013-05-14 4 views
1

Я добавил UIView над UITableView через раскадровку. Мне было интересно, есть ли хороший способ увеличить высоту UIView программно и нажать на ячейки таблицы. UITableView - статическая таблица.Увеличьте высоту UIView выше UITableView

Я использую этот код:

CGRect newFrame = myUIView.frame; 
newFrame.size.height = 300; 
myUIView.frame = newFrame; 

С помощью этого кода, высота UIView увеличивается, но это перекрывается ячейки таблицы ниже него. Есть ли способ «подтолкнуть» таблицу вниз?

спасибо!

+0

Рассмотрите возможность использования [Auto Layout] (http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/AutolayoutPG/Articles/Introduction.html). –

ответ

0

Поскольку вы используете раскадровку, самым простым и чистым способом является просто изменить размер UITableView и переместить его, чтобы освободить место для UIView. Затем вы можете перемещать/изменять UIView в любом размере.

Решение без раскадровки. Также измените рамку UITableView.

self.tableView.frame = CGRectMake(x,y,height,width); 
+0

Я надеялся сделать это программно, потому что мне нужно настроить высоты на основе определенных динамических факторов. Я попытался настроить рамку стола, но, похоже, это не работало для меня. – user2312407

+0

При попытке настроить кадр, что произошло? – VGruenhagen

+0

UIView увеличивается, но таблица не сдвигается вниз ... даже при установке нового фрейма. Возможно, есть что-то, что я делаю неправильно. – user2312407

0

Если вы используете автозапуск, это довольно просто.
Поднимите высоту UIView. Это создаст NSLayoutConstraint для высоты. Затем создайте свойство для этого и при необходимости обновите свой код.

@property (weak, nonatomic) IBOutlet UIView *uiview1; 
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *uiViewHeight; 

Обновление константы высоты ограничения, а затем обновление ограничений UIView. UITableView изменится, чтобы разместить измененный UIView.

self.uiViewHeight.constant = 150.0f; 
[self.uiview1 setNeedsUpdateConstraints]; 
+0

Это решение отлично звучит ... Я пробовал, но, похоже, не могу привязать UIView, который находится над таблицей. Когда я пытаюсь подключить его, параметры выделены серым цветом. – user2312407

+0

Я поставил простой проект на github, который имеет кнопку, которая изменяет высоту UIView над UITableView. Посмотрите на раскладку iPhone для макета. Надеюсь, это поможет. [GitHub] (https://github.com/petetodd/uiViewHeightDemo) – greentor

Смежные вопросы