AutoLayout标签在屏幕右侧被切断

我试图在我的应用程序中使用自动布局自定义表格视图单元格。

我似乎无法得到很好的约束。

我把标签放在自定义表格视图单元中,但标签仍然被切断。 有任何想法吗?

谢谢! 将发布其他所需的东西。 试图在下面的图片显示所需的信息:

在Xcode中debugging。 不知何故在Simulator中显示的内容与在Xcodedebugging中看起来不同。

这是我的TableView的宽度显示: 在这里输入图像说明

更新:这里的问题与用户在接受的答案中说的是什么有关,但是我想让问答更清楚一点,现在我已经find了解决这个问题的其他人。

在他最初的评论中,他提到了Xcode View的debugging,这很好,我可以深入一点。 它被称为助手编辑器:设备预览,您可以在其中查看屏幕上的布局和图层,以查看是否有标签重叠或基于正在运行的设备脱离屏幕。 如果你想检查多个设备大小,只需点击这张图片左下angular的加号图标。 在这里输入图像说明

这帮助我find重叠的图层和大小与TableView的问题。 我能够看到它在每个设备的大小。

这有时也可以帮助使用Pin菜单。 有时标签可能会在屏幕上运行,因为它不知道单元的约束是基于设备大小的。 因此,如果标签基于横向布局,但标签可以在屏幕外运行,但设备是iPhone 5,并且位于肖像中。 这是Pin菜单:

在这里输入图像说明

希望这是有道理的,并给这个问题更多的颜色。 如果您有任何问题,请告诉我,谢谢大家的帮助!

问题是你正在使用自动布局,但你没有做任何关于调整表视图的大小 。 这里的表视图不是你的视图控制器的视图; 这是一个子视图。 您的视图控制器的视图自动resize的设备/窗口的大小,但其子视图不会自动resize。 所以你最后的表格视图太宽了, 整张桌子都在右侧贴着空间。

使用从标签右侧到其超级视图边缘的尾部空格,并将其设置为greater than equals 5的值

用View查看你的tableview约束。 使用不同的颜色绘制单元格边框,标签边框和表格边框以知道哪些元素无法正确显示。

例如:

 #import <QuartzCore/QuartzCore.h> ... cell.layer.border.width = 1; cell.layer.border.color = [UIColor blackColor].CGColor; 

我解决视图被裁剪的东西是在自动布局中取消勾选“限制边距”。

在这里输入图像说明