2011-03-28 67 views
3

我有一個UITableViewCell。 textLabel.text設置爲某個值。在單元格的子視圖中,我添加了UILabel,UIButton或UITextField(每個單元格只有一個)。我使用CGRectMake添加這些視圖,這意味着我必須指定X位置。強制UITableViewCell保持對象在方向更改上右對齊

但是,當我改變iPad的方向時,UITableViewCell拉伸,所以UILabel,UIButton或UITextField不再對齊。它離左邊幾個像素,這看起來很醜。

即使方向改變,如何使右側的物體保持右對齊? (如果你去iPad的「設置」 - 查看右側視圖中的設置 - 任何方向的改變,他們保持粘在UITableViewCell的右端,這就是我在這之後的效果。 )

回答

4

好吧,算了一下!您可以將UITableViewCell的accessoryView屬性設置爲控件對象,並且它可以正常工作!

cell.accessoryView = the_control 

沒有必要亂用其他東西。我通過從iOS Developer Library中讀取e Table View Programming Guide for the iOS發現了這一點,我應該首先完成:-)

+0

我想對齊UITableViewCell中的一個按鈕,該按鈕位於分組的UITableView中。我一直試圖在contentView中對齊它,但寬度只佔用了很多單元格。另外,UITableView不會給出水平邊距。這雖然解決了我的問題。不需要對齊。謝謝!!! – 2013-01-09 13:44:19

+0

by_control你的意思是UIControl元素,就像按鈕..我明白了。 – Simon 2015-08-07 11:28:21

1

您應該設置待粘貼視圖的autoresizingMask屬性,使其與右邊緣保持固定的距離。在IB這是點擊,在代碼這是通過

myview.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin 
+0

這似乎並不奏效! – sc45 2011-03-29 18:48:16

+1

從你的解釋我不能推斷你的意見的確切結構,但如果視圖不是tableviewcell的直接子視圖,你應該小心設置他們之間的意見的autoresizingmasks。 – mvds 2011-03-29 20:13:46