Изменение размера 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.
Ответы
Ответ 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);