2015-08-14 1 views
0

У меня есть вид контейнера, который поровну между двумя UIViews так:Изменить размер просмотров внутри ContainerView программно

enter image description here

Часть в черном моя UIView 1, который я в настоящее время не с помощью. Мой UIView 2 содержит UISegmented Bar и UITableView.

Иерархия моих взглядов выглядеть примерно так:

enter image description here

Теперь мое требование, я хочу, чтобы изменить мой view2, чтобы покрыть весь вид контейнера динамически и view1 уходить на основе некоторого условия. В настоящее время я не беспокоюсь об этом состоянии, я просто попытался изменить размер моего view2 используя следующий код внутри - (void)viewDidLoad

CGRect newFrame = self.view2.frame; 
newFrame.size.width = 200; 
newFrame.size.height = 200; 
newFrame.origin.x=0; 
newFrame.origin.y=0; 
[self.view2 setFrame:newFrame]; 

view2 Здесь есть выход к моей View2 в интерфейсе строителя.

Но, ничего не меняется от вышеуказанного кода. Я пытался найти какой-либо другой способ, но не помог. Поэтому, пожалуйста, помогите мне узнать мою ошибку в моей нынешней технике или рассказать мне, как можно использовать другую технику.

Заранее благодарен!

+0

вид! = Nil? У вас есть ограничения? – user2828120

+0

Нет, у меня нет ограничений. – Exception

+0

try self.view2.autoresizingMask = UIViewAutoresizingNone; – user2828120

ответ

0

Код для изменения рамки кажется прекрасным, просто удалите представление из супервизора, установите рамку и снова добавьте в супервизор программно.

[self.view2 removeFromSuperview]; 
// set the frame 
CGRect newFrame = self.view2.frame; 
newFrame.size.width = 200; 
newFrame.size.height = 200; 
newFrame.origin.x=0; 
newFrame.origin.y=0; 
[self.view2 setFrame:newFrame]; 

//add self.view2 again wherever it was 
[myView addSubView:self.view2]; 
+0

Извините, но можете ли вы посоветовать мне, как это сделать программно? – Exception

+0

@ Исключено редактирование. –

+0

@ Fawad Masud Большое спасибо! – Exception