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に固定幅と高さを設定したい。
正しく理解できたら、self.myview
のサイズを変更する必要があります。ただし、どのフレームでもフレームを設定しているわけではありません。代わりに、View Controllerといくつかの検索フィールドでsendFrame:
を呼び出そうとしています。前者はコンパイラエラーを与えなかったことに驚いています。
目的C
CGRect newFrame = self.myview.frame;
newFrame.size.width = 200;
newFrame.size.height = 200;
[self.myview setFrame:newFrame];
スイフト
let newFrame = myview.frame
newFrame.size.width = 200
newFrame.size.height = 200
myview.frame = newFrame
view.frame = newframe;
または
view.center = newcenter;
私の場合、ビューの幅に制約があるため、ティムが言ったように幅を変更できませんでした。
私がやったこと:制約に、たとえばmyviewWidthConstraint
という名前のアウトレットを作成しました。次に、このアウトレットを使用して、ビューの幅を次のように変更しました。
mycell.myviewWidthConstraint.constant = newSize;
サイズフィールドは読み取り専用で、新しいフィールドを作成するだけです-
//Set height
let f = view.frame; //Grab current
view.frame = CGRect(x: f.Origin.x, y: f.Origin.y, width: f.width, height: 200);