为不同的设备调整自定义tablevVewCell的大小

时间:2015-09-23 02:33:14

标签: ios objective-c iphone xcode uitableview

我有一个带有tableview和自定义tableview单元格的iOS应用程序。

我的tableview在左侧和右侧都有固定的大小限制,因此如果我切换到具有更大屏幕的设备,它会变宽。

当我在模拟器中更改设备时,我希望我的自定义tableview单元格可以拉伸以填充新的tableview。

按照目前的情况,当我切换到6加大小时,我会得到我原来大小的单元格,末尾有一个空白区域以填充剩余的空间。

有关如何正确调整自定义单元格大小的任何想法? (或者,有没有办法将最后的空白区域更改为透明?)

2 个答案:

答案 0 :(得分:0)

你可以在heightforRowatIndexPAth

中给出一个单元格的高度

#define IS_IPHONE_6Plus((UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPhone)&&([[[UIScreen mainScreen] bounds] .size.height == 736.0f))

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath: (NSIndexPath *)indexPath

if(IS_IPHONE_6Plus)

{

//返回6plus高度

}

否则

{

//  Height

}

答案 1 :(得分:0)

所以看看你最近的评论,我认为你确实有.xib的自定义单元格。 设置UIViewAutoresizingFlexibleWidth掩码 - 单击.xib文件,然后在右窗格中,在第5个选项中,您可以看到我们可以设置与帧相关的选项。 在那里,您可以为自定义单元格设置自动调整大小。

enter image description here

同样,顶线 - UIViewAutoresizingFlexibleTopMargin

     left line              - UIViewAutoresizingFlexibleLeftMargin

     bottom line            - UIViewAutoresizingFlexibleBottomMargin

     right line             - UIViewAutoresizingFlexibleRightMargin

     middle horizontal line - UIViewAutoresizingFlexibleWidth

     middle vertical line   - UIViewAutoresizingFlexibleHeight

您可以选择选项,并可以检查对象的行为,以及它如何响应[对象的超级视图上的位置]到不同尺寸的超级视图。