[英]sizing a UIView embeded in a UIView
我試圖創建一個受限於容器視圖底部的UIView而不實際自動布局約束。 這是我的代碼:
-(void)viewDidLoad
{
[super viewDidLoad];
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
self.graphView.frame = CGRectMake(0,screenHeight - (screenWidth / 2), screenWidth, screenWidth / 2);
}
我希望這會創建一個子視圖,它會顯示在屏幕的底部,並且是屏幕的寬度,高一半。 但是,當視圖加載時,我的graphView和屏幕底部之間會有一些空間。 任何線索為什么會這樣?
我想你在使用screenHeight時正在使用screenWidth正確的代碼:
-(void)viewDidLoad
{
[super viewDidLoad];
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
self.graphView.frame = CGRectMake(0,screenHeight - (screenHeight / 2), screenWidth, screenHeight / 2);
}
解決方案:關閉自動布局以及對視圖放置位置有影響的任何其他IB切換。 原始代碼對於我想要的矩形是正確的,它只是被自動布局移動了。 最好像這樣設置圖形容器:
self.graphContainer = [[UIView alloc] initWithFrame:CGRectMake(0,screenHeight - (screenHeight / 2), screenWidth, screenHeight / 2)];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.