Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone autoresizingMask仅通过设置更改正在绘制的UILabel的大小_Iphone_Uiview_Uitableview_Uilabel_Autoresize - Fatal编程技术网

Iphone autoresizingMask仅通过设置更改正在绘制的UILabel的大小

Iphone autoresizingMask仅通过设置更改正在绘制的UILabel的大小,iphone,uiview,uitableview,uilabel,autoresize,Iphone,Uiview,Uitableview,Uilabel,Autoresize,我有一些自定义UITableViewCells,它们是根据需要以编程方式创建的,我希望它们能够调整大小。然而,当我将AutoResizingMask添加到单元格中的UILabel时,它们似乎都延伸得更宽,同时锚定到左侧 // This works fine UILabel *aField = [[UILabel alloc] initWithFrame:CGRectMake(60, 2, tableView.frame.size.width - 83, 21)]; UILabel *bField

我有一些自定义UITableViewCells,它们是根据需要以编程方式创建的,我希望它们能够调整大小。然而,当我将AutoResizingMask添加到单元格中的UILabel时,它们似乎都延伸得更宽,同时锚定到左侧

// This works fine
UILabel *aField = [[UILabel alloc] initWithFrame:CGRectMake(60, 2, tableView.frame.size.width - 83, 21)];
UILabel *bField = [[UILabel alloc] initWithFrame:CGRectMake(60, 20, tableView.frame.size.width - 154, 21)];
UILabel *cField = [[UILabel alloc] initWithFrame:CGRectMake(0, 2, tableView.frame.size.width, 21)];
UILabel *dField = [[UILabel alloc] initWithFrame:CGRectMake(tableView.frame.size.width - 116, 11, 93, 21)];
UILabel *eField = [[UILabel alloc] initWithFrame:CGRectMake(tableView.frame.size.width - 116, 11, 93, 21)];

// But when I add this, it draws like the tableview is actually much wider than it really is
aField.autoresizingMask = UIViewAutoresizingFlexibleWidth;
bField.autoresizingMask = aField.autoresizingMask;
cField.autoresizingMask = UIViewAutoresizingFlexibleWidth;
dField.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
eField.autoresizingMask = dField.autoresizingMask;

因此,当代码的底部部分不存在时,一切都按预期工作,但当它存在时,许多标签开始从右侧脱落或被拉伸到其中心远离右侧的位置。我忽略了一些简单的东西吗?

您应该设置更多的AutoResizingFlexibleHeight | topmargin | bottommargin等AutoResizingSks属性。您应该设置更多的AutoResizingFlexibleHeight | topmargin | bottommargin等AutoResizingSks属性。