Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.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自动布局:将UILabel的左边缘与容器中的水平中心对齐?_Ios_Uitableview_Autolayout - Fatal编程技术网

iOS自动布局:将UILabel的左边缘与容器中的水平中心对齐?

iOS自动布局:将UILabel的左边缘与容器中的水平中心对齐?,ios,uitableview,autolayout,Ios,Uitableview,Autolayout,因此,我尝试创建一个定制的UITableViewCell,如下所示: 我试图让细节标签左对齐,并将标题标签上的内容放得更高 所以我面临的挑战是,我希望标题单元格第二列的左边缘与整个视图的中心对齐 有没有办法做到? < P>当然,你可以把它们放在UIVIEW中,并且视图左边缘将等于CxTx,因此它们将在中间对齐。或者,您可以将顶部标题单元格与CenterX对齐,并使每个标题的前缘与之匹配。有很多方法可以实现你在这里的要求 NSLayoutContraint *constraint = [NSLa

因此,我尝试创建一个定制的UITableViewCell,如下所示:

我试图让细节标签左对齐,并将标题标签上的内容放得更高

所以我面临的挑战是,我希望标题单元格第二列的左边缘与整个视图的中心对齐


有没有办法做到?

< P>当然,你可以把它们放在UIVIEW中,并且视图左边缘将等于CxTx,因此它们将在中间对齐。或者,您可以将顶部标题单元格与CenterX对齐,并使每个标题的前缘与之匹配。有很多方法可以实现你在这里的要求

NSLayoutContraint *constraint = [NSLayoutConstraint constraintWithItem:label attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterX multiplier:1.0f constant:0.0f];
[self.view addConstraint:constraint];

NSArray *constraints [NSLayoutConstraint
                      constraintsWithVisualFormat:@"V:|[label1]-(5)-[label2]-(5)-[label3]|"
                      options:NSLayoutFormatAlignAllLeading
                      metrics:nil
                      views:@{ @"label1" : label1, @"label2" : label2, @"label3" : label3 }];
[self.view addConstraints:constraints];

以上只是一些示例,说明了如果您愿意,如何在代码中执行此操作。self.view是一个视图,但如果您需要UITableViewCell的内容视图,您可以将其切换到该视图。

尝试使用两个分组视图,每列一个。将每个柱视图的外边缘固定到单元内容视图的边缘,然后向柱视图添加等宽约束

放置好包含列视图后,可以在每个视图中布局标签


添加等宽约束,将前导空间约束添加到左视图,将尾随空间添加到右视图,以及它们之间的水平间距


我无法得到上述建议,因此我采用了另一种方法

  • InnerView1内容视图的50%宽度&固定在左侧
  • InnerView2内容视图的50%宽度&固定在右侧

简单。

谢谢!它确实起作用了……:)@darren102还提到将其嵌入到另一个视图中可以实现这一点。谢谢@darren102!把它们放在不同的视图中的想法起到了作用。我选择@lintmachine作为正确答案,因为它更直观。