シンプルで柔軟なレイアウトを作成しようとしています。
私のアプリにはUITextView
(赤いボックス)があり、その中には可変量のテキストが含まれています。その下にはとがUIRoundedRectButton
ありUILabel
ます。
すでに内部のコンテンツに基づいてテキストビューを拡大しています。テキストビューに多くのコンテンツが含まれている場合にボタン/ラベルが自動的に下に移動するように、柔軟なレイアウトを実現するにはどうすればよいか疑問に思いました。
すべてを別のビュー内に配置し、2つのオレンジ色のビューに自動サイズ変更を設定して、上部の余白が柔軟になるようにします。赤いビューには、下部の余白が柔軟になるように設定します。テキストが変更されたときにコンテナビューのサイズを変更して、すべてを保持するのに十分な大きさにします。
2つ以上の異なるタイプのセルを使用して全体をテーブルビューにします。最初のセルはテキストフィールドを保持し、その高さはデータの長さに応じて設定されます。その後、下のセルが自動的に下に移動します。iOS 5以降を使用している場合、これは静的なテーブルビューとアウトレットを使用して簡単に実現できます。スクロールや仕切りなどをオフにして、通常の画面一杯のコンテンツのように見せることができます。
yourViewControllerデリゲートメソッドviewWillAppear
メソッドでは単純すぎます
jusは以下のコードを入れます...
-(void)viewWillAppear:(BOOL)animated
{
yourTextView.text=yourdata;//here your inserted data ie.. yourdata is string variable
yourTextView.frame = CGRectMake(yourTextView.frame.origin.x, yourTextView.frame.origin.y, yourTextView.frame.size.width, yourTextView.contentSize.height);
float btnscreen = yourTextView.frame.origin.y + yourTextView.contentSize.height + 15;
yourButton.frame=CGRectMake(yourButton.frame.origin.x, btnscreen, yourButton.frame.size.width, yourButton.frame.size.height);
float lblscreen = yourButton.frame.origin.y + yourButton.frame.size.height + 10;
yourLable.frame=CGRectMake(yourLable.frame.origin.x, lblscreen, yourLable.frame.size.width, yourLable.frame.size.height);
}
ここでは、最初にXIBでビューを作成してから、.mファイルでこのコードを使用します.....はい、コントロールが範囲外の場合は、UIScrollViewを使用して、このコントロールをスクロールビューに配置してから、このコードを使用してください。結構です...これがお役に立てば幸いです...:)