Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.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 如何对齐不同表视图单元格中的标签?_Ios_Xcode - Fatal编程技术网

Ios 如何对齐不同表视图单元格中的标签?

Ios 如何对齐不同表视图单元格中的标签?,ios,xcode,Ios,Xcode,我有一个静态表视图,如下所示: 如何对齐两个灰色标签的前缘(即选择一个类别和“这些是注释”)而不使用它们与视图边距之间的约束 由于它们位于不同的表视图单元格中,因此不可能在情节提要中同时选择它们以对其应用前缘约束 (如果标签的起始位置取决于前一标签的后缘,则硬编码值可能无法缩放到不同的设备大小。例如,如果“选择类别”的前缘与“类别”的后缘之间的距离应为固定大小,则其绝对位置可能会根据“类别”的字体大小等而变化。)。这些是注释的前缘应与“选择一个类别”的前缘对齐,因此不能使用硬编码值。)您需要同

我有一个静态表视图,如下所示:

如何对齐两个灰色标签的前缘(即选择一个类别和“这些是注释”)而不使用它们与视图边距之间的约束

由于它们位于不同的表视图单元格中,因此不可能在情节提要中同时选择它们以对其应用前缘约束


(如果标签的起始位置取决于前一标签的后缘,则硬编码值可能无法缩放到不同的设备大小。例如,如果“选择类别”的前缘与“类别”的后缘之间的距离应为固定大小,则其绝对位置可能会根据“类别”的字体大小等而变化。)。这些是注释的前缘应与“选择一个类别”的前缘对齐,因此不能使用硬编码值。)

您需要同时给出选择一个类别和这两个注释是具有相同值的容器边距空间的注释。在下面的示例中,我将两者的值都设置为60

如果要同时更改这两个值,可以返回到情节提要,将值60更改两次(每个约束一次)。但是,更简单的方法是将约束连接到IBOutlets,并将常量值存储在CGFloat中,如下所示:

@IBOutlet weak var leadingSpaceConstraint1: NSLayoutConstraint!
@IBOutlet weak var leadingSpaceConstraint1: NSLayoutConstraint!
let spaceConstraintConstant: CGFloat = 60
然后在viewDidLoad()中,您将有:

leadingSpaceConstraint1.constant = spaceConstraintConstant
leadingSpaceConstraint2.constant = spaceConstraintConstant
现在,只需更改
spaceConstraintConstant
的值,即可更改所有单元格的约束空间

更新2017-05-16

您在问题中编辑并指定要“在文本字段和视图边距之间不使用约束”来完成此操作

由于您的内容是静态的,因此可以采用以下方法:

  • 在“类别”和“选择类别”之间设置距离约束。为这个做一个出口;称之为约束
  • 将“这些是注释”的前导边距约束设置为任意值(设置值将在一秒钟内更改)。为该约束设置一个IBOutlet;称之为结核病
  • 在viewDidLoad()中,将constraintB的常量值设置为constraintA加上“类别”UILabel的长度

  • 您需要同时为选择一个类别提供注释a
    到容器边距空间的前缘
    。在下面的示例中,我将两者的值都设置为60

    如果要同时更改这两个值,可以返回到情节提要,将值60更改两次(每个约束一次)。但是,更简单的方法是将约束连接到IBOutlets,并将常量值存储在CGFloat中,如下所示:

    @IBOutlet weak var leadingSpaceConstraint1: NSLayoutConstraint!
    @IBOutlet weak var leadingSpaceConstraint1: NSLayoutConstraint!
    let spaceConstraintConstant: CGFloat = 60
    
    然后在viewDidLoad()中,您将有:

    leadingSpaceConstraint1.constant = spaceConstraintConstant
    leadingSpaceConstraint2.constant = spaceConstraintConstant
    
    现在,只需更改
    spaceConstraintConstant
    的值,即可更改所有单元格的约束空间

    更新2017-05-16

    您在问题中编辑并指定要“在文本字段和视图边距之间不使用约束”来完成此操作

    由于您的内容是静态的,因此可以采用以下方法:

  • 在“类别”和“选择类别”之间设置距离约束。为这个做一个出口;称之为约束
  • 将“这些是注释”的前导边距约束设置为任意值(设置值将在一秒钟内更改)。为该约束设置一个IBOutlet;称之为结核病
  • 在viewDidLoad()中,将constraintB的常量值设置为constraintA加上“类别”UILabel的长度

  • 你能解决你的问题吗?看看我的答案,让我知道它是否有帮助,或者它是否需要澄清。谢谢你能解决你的问题吗?看看我的答案,让我知道它是否有帮助,或者它是否需要澄清。谢谢谢谢,但您的答案是在标签的边距和前缘之间使用硬编码值。如果标签的起点取决于前一标签的后缘,则硬编码值可能无法缩放到不同的设备尺寸。例如,如果“选择类别”的前缘与“类别”的后缘之间的距离是固定的,则其绝对位置可能会根据“类别”的字体大小等而变化。“这些是注释”的前缘应与“选择类别”的前缘对齐,因此不能使用硬编码值。哦,好的。我认为你的原始问题没有具体说明,但我看到你编辑了这个问题。由于您的内容是静态的,那么这种方法如何:1)在“类别”和“选择类别”之间设置距离约束。为这个做一个出口;称之为约束。2) 将“这些是注释”的前导边距约束设置为任意值(设置值将在一秒钟内更改)。为该约束设置一个IBOutlet;称之为结核病。3) 在viewDidLoad()中,将constraintB的常量值设置为constraintA加上“类别”uilabel的长度。谢谢,但您的答案是在标签的边距和前缘之间使用硬编码值。如果标签的起点取决于前一标签的后缘,则硬编码值可能无法缩放到不同的设备尺寸。例如,如果“选择类别”的前缘与“类别”的后缘之间的距离是固定的,则其绝对位置可能会根据“类别”的字体大小等而变化。“这些是注释”的前缘应与“选择类别”的前缘对齐,因此不能使用硬编码值。哦,好的。我认为你的原始问题没有具体说明,但我看到你编辑了这个问题。既然您的内容是静态的,那么什么是ab