我是Xamarin和iOS開發新手。我在創建如下圖所示的佈局時遇到了問題。如何在xamarin中創建這樣的佈局?
我想有在頂部固定的大小和底部,一個在中間柔韌性兩種觀點。我希望中間視圖具有靈活性,因爲我希望在3,5和4英寸的屏幕上具有相同的佈局。
你能給我發一些線索怎麼實現嗎?
我是Xamarin和iOS開發新手。我在創建如下圖所示的佈局時遇到了問題。如何在xamarin中創建這樣的佈局?
我想有在頂部固定的大小和底部,一個在中間柔韌性兩種觀點。我希望中間視圖具有靈活性,因爲我希望在3,5和4英寸的屏幕上具有相同的佈局。
你能給我發一些線索怎麼實現嗎?
如果您不想支持旋轉,您可以創建一個固定佈局,因爲屏幕大小在運行時不會改變。在這種情況下,只需將頂部視圖置於View.Bounds.Height的頂部,底部視圖中 - requiredBottomViewHeight和中間視圖的父視圖的高度減去底部和頂部的高度之和即可。
如果需要旋轉,無論是與工作:
現在推薦的方法是使用自動佈局和約束。但是,在這種簡單的情況下,您可以安全地使用自動調整大小掩碼。下面的代碼將生成您想要的佈局,並且還支持旋轉。您可以通過如下所示設置自動調整大小蒙板來在Storyboard Designer或Interface Builder中生成相同的效果。
public override void ViewDidLoad()
{
var topView = new UIView {
BackgroundColor = UIColor.Red,
Frame = new RectangleF(0, 0, this.View.Bounds.Width, 50),
AutoresizingMask = UIViewAutoresizing.FlexibleWidth
};
var bottomView = new UIView {
BackgroundColor = UIColor.Blue,
Frame = new RectangleF(0, this.View.Bounds.Height - 50, 320, 50),
AutoresizingMask = UIViewAutoresizing.FlexibleTopMargin | UIViewAutoresizing.FlexibleWidth
};
var middleView = new UIView {
Frame = new RectangleF(0, topView.Frame.Bottom, this.View.Bounds.Width, this.View.Bounds.Height - topView.Bounds.Height - bottomView.Bounds.Height),
BackgroundColor = UIColor.Green,
AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth
};
this.View.AddSubviews (topView, middleView, bottomView);
}
最好的方法是使用基本窗體的UINavigationController。我想通了,這是最好的處理應用程序的頂部酒吧和進一步的導航。 然後調用方法SetToolbarHidden。現在你有兩個酒吧。 對於內容區域請使用uiviewcontroller。然後使用uiviewcontroller作爲參數,在UINavigationController中調用方法PushViewController。 就是這樣。 PS對不起,我的答案佈局糟糕我用智能手機做了這個。
您是否使用自動佈局?那麼你可以使用這個表達式:V:| [topview(100)] [middleview] [bottomview(100)] |瞭解更多信息:https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/Introduction/Introduction.html –