簡體   English   中英

動態定位從StoryBoard創建的UITableView

[英]Dynamically position a UITableView created from StoryBoard

我在StoryBoard上創建了一個UITableView ,它沒有填滿整個屏幕,它開始有點向下。 我這樣做是因為我希望其他內容,例如標簽和按鈕位於其上方,我正在以編程方式創建。

在此輸入圖像描述

當我在常規iPhone和iPhone 4視網膜的模擬器中運行應用程序時,一切都正確定位。

在此輸入圖像描述

但是,當為iPhone 5運行時, UITableView在按鈕頂部和標簽之間以及它開始的位置之間存在間隙。

在此輸入圖像描述

我嘗試編寫檢查iPhone 5的代碼,然后將UITableView重新定位到更高的位置,但是,無論我為框架輸入什么值, UITableView不會移動。

- (void) viewWillAppear:(BOOL)animated
{
    if([iDevice screenResolutionHeight] == IPHONE_5)
    {
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0,self.mytableView.frame.size.width,self.mytableView.frame.size.height)];
        view.backgroundColor = [UIColor whiteColor];
    }
}

看起來你的表視圖有一個高度約束。 您應該在superview的底部創建一個約束,在上部藍色視圖的底部創建另一個約束(使用All和Filter的那個)。 如果為該藍色視圖指定高度約束,則應該能夠將高度約束移除到表視圖。

使用Auto Layoutconstraints我仍然遇到很多問題。 我最終只關閉了StoryBoard Auto Layout並使用了Autosizing於我的Auto Layout Autosizing功能。 它可能不適用於每個應用程序,但它只是我想要分享的另一種選擇。

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM