すべて、
AppleはアプリがすべてのiOSプラットフォーム上で実行する必要があります。したがって、各画面でサブビューの位置を調整するために、ストーリーボードに制約を追加する必要がありました。各制約を追加するのは面倒なので、私はCirrious Fluent Layoutを使用してくれました。以下は、私が画像ビューを含む私の画面上で使用したコードです。これは、(明らかに)imageviesが何とかすべての画面サイズを変更したため、iOSデベロッパーの初心者だったので、これがなぜ機能したのか分かりませんでした。
まず私は、参照を追加する必要:
using Cirrious.FluentLayouts.Touch;
コード:
//This line is required to turn off all autosizing/positioning
View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();
// Get the screen dimensions and the middle of the screen
// for button positioning
var barheight = this.NavigationController.NavigationBar.Bounds.Height;
// Height of the navigation bar
var height = UIScreen.MainScreen.Bounds.Height;
var width = UIScreen.MainScreen.Bounds.Width;
int middle = (int) UIScreen.MainScreen.Bounds.Width/2;
// We cast to int to truncate float,
// int will convert implictly to float when used (Visual Studio).
var heightavailabletoimageviw = height -74 - 47 - 26 - 60;
// 74 is the height of the banner, 47 is the height of the buttons and
// 26 is the height of the title label plus a 5px gap The rest of the
// screen is available for use by the image view,
// set heightavailabletoimageviw to this value
// Had to subtract 60 because the image view still overlapped
// the buttons, no idea why. Anyone?
// Had to add a constraint to the imageview because if I didn't
// it automatically scaled to the size of the image, not good.
ThePhoto.AddConstraints(
ThePhoto.Width().EqualTo(UIScreen.MainScreen.Bounds.Width),
ThePhoto.Height().EqualTo(heightavailabletoimageviw)
);
// Had to fix the size of the imagebutton otherwise the button size
// scaled to the size of the image
btnPhoto.AddConstraints(
btnPhoto.Width().EqualTo(62f),
btnPhoto.Height().EqualTo(47f)
);
// Now we add the constraints to the viewcontroller to finish up.
View.AddConstraints(
// Can't cover the navigation bar (unless it isn't there, mine is),
// this value sets all other relative positions
Banner.AtTopOf(View, barheight),
Banner.AtRightOf(View, 0),
Banner.AtLeftOf(View, 0),
lblTitle.Below(Banner, 0),
lblTitle.WithSameWidth(Banner),
ThePhoto.Below(lblTitle, 5),
ThePhoto.WithSameWidth(lblTitle),
// I have no idea why, but I had to use negative
// values for the buttons to appear on the screen,
// otherwise they were off screen.
// If anyone could explain this, I would appreciate it.
btnUpload.AtBottomOf(View),
btnUpload.ToLeftOf(View,-60),
// Same here, had to use negative values for button to
// position correctly on the screen
btnPhoto.AtBottomOf(View),
btnPhoto.ToLeftOf(View,-(middle + 31)),
// Again, same thing.
btnMainMenu.AtBottomOf(View),
btnMainMenu.ToRightOf(View,-80)
)。これは私が私の問題を解決する方法である
は
、私はアプリを再提出し、それが今ではアプリストアに表示されます:https://itunes.apple.com/us/app/oml-photo-manager/id1212622377?mt=8。これは誰かに役立ちます
希望....
R/ プレスコット...オーダーの
ワン迅速なポイント:iPadのは、多くの場合、携帯の接続を、利用ください。 – gravity
ありがとう、私はそれを認識していませんでした。大きなAppleのファンではありません。 R/ プレスコット... –