2016-07-31 16 views
0

私はIOS開発に新しいので、UITextFeildの幅を動的に変更すると、下のボタンが上に移動します。 私は制約を使用しようとしましたが、動的にシフトしていないようです。動的に位置を変更してください

(IBAction)selectStatus:(id)sender { 
    CGRect frameRect = _textViewDevices.frame; 
    frameRect.size.height = 10; 
    self.textViewDevices.frame = frameRect; 

どのように達成するための良い例ですか?

私はアンドロイドの相対的なポジショニングのようなものを実現したいと思います。高さの最初の紫色のフィールドの変更は、すべて以下のビューの横に滞在するためにときon action the box size change

+1

どうすればいいのかを共有してください。代わりに – ddb

+0

自動レイアウトを使用していますか? –

+0

@ViktorSimkóyes –

答えて

0

current box before any action

はプログラムで、あなたは適切 frame.origin.yを更新する必要があります。したがって、たとえば、ステータスラベルは、すべて以下のビュー(私はビューの間のスペースを5つのピクセルになってきました)

2

のために、この

CGRect frame = statusLabel.frame; 
frame.origin.y = firstField.origin.y + firstField.size.height + 5; 
statusLabel.frame = frame; 

と同じように再フレーミングしなければならない

layoutIfNeededを呼び出して試してみてください

テキストビューの高さの制約がある場合は、フレームの高さを設定する代わりに定数を設定してください:

- (IBAction)selectStatus:(id)sender { 
    self.textViewHeightConstraint.constant = 10; 
    [self.view layoutIfNeeded]; 
} 
関連する問題