Sas*_*i M 10 xcode objective-c uitableview ios autolayout
我试图在UITableViewCell中使用AutoLayout,多个标签和百分比计算.我希望标签之间的空间相等但宽度不同.此外,纵向和横向模式的宽度和空间也会有所不同,如下图所示.


我希望空间在纵向中为4,在横向中为8.
在纵向标签1宽度 - 50%标签2宽度 - 20%标签3宽度 - 30%
在横向Label1宽度 - 50%Label2宽度 - 15%Label3宽度 - 20%Label4宽度 - 15%
我使用了水平间距和顶部和底部约束,但它没有产生适当的宽度和空间对齐.第一行也是标题,所以它不应该有披露指标,剩下的行应该有它.任何帮助,将不胜感激.
注意:它是一个通用的应用程序,我在iPad中使用splitview.在纵向中,它应该显示3个标签,如在iPhone和横向中,它应该显示如上所述的4个标签.我的主视图控制器也始终可见.
Abu*_*min -1
首先我们遇到这样的问题:纵向时需要 4 个空间,横向时需要 8 个空间。
如果您非常了解尺寸类别,请使用它们,从故事板的底部选择您所需的尺寸类别(纵向模式中使用的尺寸类别)您可以使用尺寸类别“紧凑宽度常规高度”来设置约束所有 iPhone 均处于纵向模式。
现在您可以设置按钮之间的水平间距约束,在放置水平间距约束后,您可以从不需要此约束的尺寸类别(即在横向模式下使用的尺寸类别)中禁用它。
要禁用任何尺寸类别的特定约束,只需选择该约束,然后在属性检查器中您将看到一个名为“已安装”的复选框,这意味着该尺寸类别启用了该约束。默认情况下,“已安装”适用于“任何任何”尺寸类别,这意味着此约束适用于所有尺寸类别,只需取消选中该复选框即可。
在“已安装”复选框的左侧有一个图标“+”,可帮助您启用或禁用特定尺寸类别的约束,因此从该图标中选择所需的尺寸类别并选中该尺寸类别的复选框。请参阅图片1

现在为横向添加另一个水平间距约束,从“任何任何”尺寸类别中禁用它,并为任何宽度启用它,紧凑高度代表横向中的iphone,现在您已经添加了两个相同的约束,具有不同的常量,适用于不同的情况(一种是肖像,另一种是风景)。
现在来解决您的实际问题,您希望标签的大小成比例。现在,就像约束一样,您可以启用或禁用不同尺寸类别的视图,因此在故事板上拖动四个标签并禁用“紧凑宽度常规高度”尺寸类别的第四个标签。
要启用或禁用特定尺寸类别的视图,请选择标签,然后在属性检查器中使用相同的“已安装”复选框,并禁用“紧凑宽度常规高度”尺寸类别的第四个标签。
现在唯一剩下的就是您要为横向和纵向设置不同的宽度。为此,我们必须为每个标签设置两个宽度约束(只有第四个标签有一个宽度约束),一个用于纵向,另一个用于横向。
现在,根据需要为纵向的每个标签设置宽度约束,并仅针对“紧凑宽度常规高度”尺寸类别启用这些约束。所以他们只能在肖像模式下工作。
现在,从 storty 板的底部将尺寸类别更改为“常规宽度紧凑高度”,并再次使用不同的常量在标签上放置宽度约束。您将观察到的一件事是,这次您可以为第四个标签设置约束,因为该标签仅可见于此尺寸类别。
就是这样:)希望这会对您有所帮助,告诉我这是否有效。
| 归档时间: |
|
| 查看次数: |
920 次 |
| 最近记录: |