Подтвердить что ты не робот

Изменение размера UIView

У меня есть UIView, я хочу изменить размер, когда пользователь прикасается к кнопке.

CGRect newFrame = self.myview.frame;

newFrame.size.width = 200;
newFrame.size.height = 200;
[self setFrame:newFrame];

CGRect newFrame = self.searchField.frame;

newFrame.size.width = 200;
newFrame.size.height = 200;
self.searchField.frame=newFrame;

Ни один из них не работает, ничего не меняет. Я хочу установить фиксированную ширину и высоту в UIView.

4b9b3361

Ответ 1

Если я правильно понимаю, вы хотите изменить размер self.myview. Однако ни в коем случае вы не устанавливаете структуру этого. Вместо этого вы пытаетесь вызвать sendFrame: на контроллере представления и в некотором поле поиска. Я удивлен, что первый не дал вам ошибку компилятора.

Цель C

CGRect newFrame = self.myview.frame;

newFrame.size.width = 200;
newFrame.size.height = 200;
[self.myview setFrame:newFrame];

Swift

var newFrame = myview.frame

newFrame.size.width = 200
newFrame.size.height = 200
myview.frame = newFrame

Ответ 2

В моем случае у меня было ограничение на ширину моего представления, поэтому я не мог изменить ширину, как сказал Тим.

Что я сделал: я создал выход на моем constaint, например, myviewWidthConstraint. Затем я использовал эту розетку, чтобы изменить ширину моего вида следующим образом:

mycell.myviewWidthConstraint.constant = newSize;

Ответ 3

view.frame  = newframe;

или

view.center = newcenter;

Ответ 4

Размер поля доступны только для чтения, просто создайте новое -

//Set height
let f = view.frame;      //Grab current
view.frame = CGRect(x: f.origin.x, y: f.origin.y, width: f.width, height: 200);