如何在旋转后重新排列UITableViewCell中的对象?

时间:2012-04-03 12:39:04

标签: iphone ios uitableview uilabel

我在一个单元格中有3个对象。它们是带文本的UILable(左侧),另一个带文本的UILable(右侧)和UIButton(最右侧)。喜欢:

  

[[label1_的 _ ___ ] [LABEL2] [按钮]]

现在如何在旋转后如何重新排列这些对象,如果我只想使用label1进行拉伸,而使用按钮的label2应该保持原始大小并且右对齐?喜欢

  

[[label1_的 _ __ _ __ _ __ _ __ _ < / EM> ____ ] [LABEL2] [按钮]]

是否有任何对齐选项可以将按钮和label2对齐(逐个),而将label1留下以仅制作label1.autoresizingMask = UIViewAutoresizingFlexibleWidth?
我正在尝试以编程方式(用子视图填充单元格)并使用

[cell.contentView addSubview:subview]

对于我的左侧标签我做了:

 label1.autoresizingMask = UIViewAutoresizingFlexibleWidth;

但是从纵向旋转到横向后我没有变化,它看起来像:

  

[[label1_的 _ __ _ ] [LABEL2] [按钮]的 _ __ < EM> _ __ _ ____

是否有其他UIView具有UIBarButtonSystemItemFlexibleSpace等属性?

2 个答案:

答案 0 :(得分:1)

在xib中,使用Interface Builder,使用“自动调整”属性作为标签和按钮,红线的“/箭头”用于在更改方向时自动调整大小。所以只为第二个label2和button设置top和rignt line。

否则,以编程方式,    - 更改willAutorotate / shouldAutorotate委托中的坐标。

更好的方法,..使用xib。

感谢 Dipak C。

答案 1 :(得分:0)

您是从笔尖还是以编程方式创建此自定义表格视图单元格?如果你在一个笔尖中进行它,请确保你拖出的顶级对象是一个UITableViewCell,并将它的类设置为自定义子类。如果您以编程方式执行此操作,请确保将子视图添加到单元格的contentView而不是单元格本身。当单元格的大小因进入/退出编辑模式而发生变化时,单元格并不知道如何正确调整其子视图的大小。但是,它的contentView确实如此。