アプリに次の画面があります。
現在、ポジショニングはすべてハードコードされており、見栄えがよくありません。これは、中央にいくつか\n
の があり、テキストフィールドとボタンが慎重に配置された 1 つのテキストビューであり、ピクセルごとに実験してからハードコーディングされています。さらに、それはただ醜いです。
私は答えを見つけようとしてstackoverflowを見回しておりCGPoint
、特定の を作成することについていくつか見つけましUITextPosition
たが、残念ながら私は初心者すぎて答えを理解できません。
これらの位置を互いに相対的にソフトコーディングするエレガントな方法はありますか?
ご協力いただきありがとうございます。
編集: 配置コードは次のとおりです。
if (!optOut) {
optOut = [[UITextView alloc] initWithFrame:CGRectMake(20, 95, [[UIScreen mainScreen] bounds].size.width - 20, 200);
optOut.backgroundColor=[UIColor clearColor];
optOut.text = @"\n\n\nI hope to update the Haiku app periodically with new haiku, and, if you'll allow me, I'd like permission to include your haiku in future updates. If you're okay with my doing so, please enter your name here so I can give you credit.\n\n\n\nIf you DON'T want your haiku included \nin future updates (which would make \nme sad), check this box.";
}
[self.view addSubview:optOut];
if (!checkboxButton) {
checkboxButton = [UIButton buttonWithType:UIButtonTypeCustom];
checkboxButton.frame = CGRectMake(236, 260, 44, 44);
[self.view addSubview:checkboxButton];
}
[textView resignFirstResponder];
if (!nameField)
{
nameField=[[UITextField alloc] initWithFrame:CGRectMake(40, 223, 240, 30)];
[self.view addSubview:nameField];
}
optOut
に配置する代わりに(20, 95, [[UIScreen mainScreen] bounds].size.width - 20, 200)
、 (言う) に配置できるようにしたいと思い(20, [[UIScreen mainScreen] bounds].size.height/2-100, [[UIScreen mainScreen] bounds].size.width - 20, 200)
ます。しかし、それを行うとoptOut
、画面の高さに応じて の開始位置が移動する場合nameField
、checkBox
も移動する必要があり、それらを に対して同じ位置に保つ方法がわかりませんoptOut
。