簡體   English   中英

如何在UIStackView中將UITableView保持在X和Y中心

[英]How to keep UITableView centered on X and Y inside an UIStackView

我在垂直的UIStackView有一個UILabel和一個UITableView 我希望此堆棧視圖始終保持居中,即使將元素添加到表視圖中也是如此。

現在,我在堆棧視圖中添加了“ Horizontal in Container和“ Vertical in Container約束。 但是它仍然說堆棧視圖缺少Y約束。 如果我添加一個,則它將不再居中。

知道應該添加哪些約束以使其始終居中嗎?

這是兩個屏幕快照,分別是我希望如何顯示堆棧視圖和一個屏幕快照,它們分別是:

在此處輸入圖片說明

在此處輸入圖片說明

我在第二張圖片中添加了從堆棧視圖到標題的垂直空間約束,這就是它看起來像這樣的原因。

嗯...我前段時間從一個客戶那里收到了同樣的請求,事實是表視圖不應該那樣使用,因為如果添加太多項目,表將在垂直方向上增長,這就是一點都不好...但是! 據我所見,您的單元格都具有相同的大小,因此,這是我做的,因為我的表有幾行且行數有限,並且所有行都是相同的大小:

我在tableView中添加了一個高度約束,並將其作為IBOutlet扔到它所屬的類中。 一旦有了任務的行數,就可以通過將行數乘以單元格的固定高度來更新tableView高度約束的常數值。 這樣,tableView的高度將由其包含的行數定義。 考慮到我提到的高度限制,您可能應該轉儲堆棧視圖,單獨使用tableView並向tableView添加一些大小和居中限制。

您可以根據需要選擇“前導/尾隨”或“寬度”,在容器內垂直居中,並在運行時修改高度約束。

順便說一下, 您的stackview占據了整個屏幕 ,我覺得您應該遵循正常的約束條件,導致容器,尾隨容器,底部空間至容器,頂部空間至垂直。

仔細考慮一下,如果添加這四個約束,則無論您在哪個設備上運行,堆棧視圖始終始終在水平和垂直居中,因為設置這四個約束將始終確保堆棧視圖保持恆定的距離在您的情況下,對於所有約束而言,superview的邊距都是0

暫無
暫無

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

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