我在表格视图单元格中有一个标签,其大小我必须根据标签中的文字调整大小。在potratit模式下它可以工作,但是当转换到横向模式时,文本不会显示到表格单元格的长度。暂时我已经动态创建了标签,并通过重新加载表格来调整其宽度,具体取决于设备的当前方向。
我已动态创建了标签,并将其添加到contentView上。代码如下
UILabel *lblSize = [[UILabel alloc] initWithFrame:CGRectMake(nameLbl.frame.origin.x + nameLbl.frame.size.width , 0, 580, 60)];
lblSize.backgroundColor = [UIColor clearColor];
lblSize.font = [UIFont fontWithName:@"TrebuchetMS" size:18];
lblSize.textColor = [UIColor blackColor];
lblSize.minimumFontSize = 10;
lblSize.tag = 3;
[cell.contentView addSubview:lblSize];
在纵向模式下执行代码时会发生什么?
| Page1 |一些文字。一些文字。一些文字。一些文字。一些文字.... |
横向模式下的内容如下所示
| Page 1 |一些文字。一些文字。 .... |
我不想使用我使用过的方法。是否有其他可用于解决问题的方法。请建议一些解决方案。我目前正在使用iPad并需要一个解决方案。
答案 0 :(得分:0)
只需使用此波纹管条件设置框架
if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation))
{
// code for landscape orientation
}
或
if (UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation))
{
// code for Portrait orientation
}
答案 1 :(得分:0)
在cellForRowAtIndexPath
CGFloat maxHeightForLabel=1000.0;
CGSize size=[label.text sizeWithFont:label.font
constrainedToSize:CGSizeMake(label.frame.size.width, maxHeightForLabel)];
CGRect frame=label.frame;
frame.size=size;
label.frame=frame;
关于方向更改,请致电[yourTableView reloadData];
。