Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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
Ios 根据核心数据进行内部调整(swift 3)_Ios_Swift_Nslayoutconstraint - Fatal编程技术网

Ios 根据核心数据进行内部调整(swift 3)

Ios 根据核心数据进行内部调整(swift 3),ios,swift,nslayoutconstraint,Ios,Swift,Nslayoutconstraint,我在一个单元格中有一个名字标签,它的大小本质上是这样的:时间标签的左锚点可能总是距离名字标签的左锚点5个像素。但是,当我从核心数据引入名称时,它采用初始设置名称,并使用该名称内在地调整名称标签框架的大小 这里是我创建标签视图的地方 let nameLabel: UILabel = { let nlabel = UILabel() nlabel.text = "Barack Obama" nlabel.font = UIFont.boldSystemFont(ofSize:

我在一个单元格中有一个名字标签,它的大小本质上是这样的:时间标签的左锚点可能总是距离名字标签的左锚点5个像素。但是,当我从核心数据引入名称时,它采用初始设置名称,并使用该名称内在地调整名称标签框架的大小

这里是我创建标签视图的地方

let nameLabel: UILabel = {
    let nlabel = UILabel()
    nlabel.text = "Barack Obama"
    nlabel.font = UIFont.boldSystemFont(ofSize: 12)
    nlabel.textAlignment = .left
    nlabel.frame.size = nlabel.intrinsicContentSize

    nlabel.backgroundColor = UIColor.blue

    print("nlabel frame \(nlabel.frame.size)")

    return nlabel
}()
每个单元格的nlabel.text等于单元格?.friend?.name

我成功地将名称加载到单元格中,但是帧的大小仍然与nlabel.text等于第一个nlabel.text一样


有什么建议吗?

假设您使用的是自动布局,请删除此行:

    nlabel.frame.size = nlabel.intrinsicContentSize
    nlabel.translatesAutoresizingMaskIntoConstraints = false
并添加以下行:

    nlabel.frame.size = nlabel.intrinsicContentSize
    nlabel.translatesAutoresizingMaskIntoConstraints = false
使用“自动布局”时,您不能自行设置框架大小

为创建的每个标签指定相同的大小。大小不会因为您更改了它包含的文本而更改

标签具有固有的大小,但当您在代码中而不是在情节提要中创建标签时,需要将TranslatesAutoResizengMaskinToConstraints设置为false才能正常工作。在序列图像板中创建标签时,这将自动完成


有关详细信息,请参见

假设您使用的是自动布局,请删除此行:

    nlabel.frame.size = nlabel.intrinsicContentSize
    nlabel.translatesAutoresizingMaskIntoConstraints = false
并添加以下行:

    nlabel.frame.size = nlabel.intrinsicContentSize
    nlabel.translatesAutoresizingMaskIntoConstraints = false
使用“自动布局”时,您不能自行设置框架大小

为创建的每个标签指定相同的大小。大小不会因为您更改了它包含的文本而更改

标签具有固有的大小,但当您在代码中而不是在情节提要中创建标签时,需要将TranslatesAutoResizengMaskinToConstraints设置为false才能正常工作。在序列图像板中创建标签时,这将自动完成


有关更多信息,请参见

您是否确实为您创建的每个nLabel将文本设置为“Barack Obama”?或者您的实际代码使用的是核心数据中的名称?代码使用的是核心数据中的名称。“巴拉克·奥巴马”是我第一个使用的手机名称,因为我不能将其置为零。这是一个问题。你是在使用自动布局吗?你是在为你创建的每一个nLabel设置文本为“Barack Obama”吗?或者您的实际代码使用的是核心数据中的名称?代码使用的是核心数据中的名称。“巴拉克·奥巴马”是我第一个使用的手机名称,因为我不能将其置为零。这是一个问题。你在使用自动布局吗?