MKAnnotation 左/右附件视图错位
MKAnnotation Left / Right Accessory View Misplacement
无法弄清楚为什么会发生这种情况。当我的标题和副标题文本太长时,我会在文本末尾得到预期的 ...。但是我的左右附件视图像这样搞砸了。
附件视图框架和边界没有改变。它们与正常绘制视图时相同。喜欢,
Title可以长也可以subtile可以长,views都不会错位。只有当两者都很长并且有尾随......他们才搞砸了。
找不到任何关于视图的最大大小/或文本长度等的文档。
我采用了计算字符串长度的技巧,当它们超过我的限制时,我打印出一个简短的标题或副标题。我宁愿让它保持原样,只是弄清楚为什么这些视图会被推高以及如何解决。
谢谢
注意:我使用默认的MKAnnotationView,只是设置标题和副标题。
这似乎是一个可以通过不同方式解决的错误。
rightCalloutAccessoryView
垂直对齐可以通过简单地设置 autoresizingMask
来固定,如下所示:
UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
rightButton.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleTopMargin;
annotationView.rightCalloutAccessoryView = rightButton;
同样的技巧不适用于 leftCalloutAccessoryView
,它显然在默认设置 NSLayoutAttributes 方面存在错误。在这种情况下,我找到的最简单(最丑陋)且唯一的解决方法是对分配给 leftCalloutAccessoryView
的视图高度进行硬编码:iOS8 上为 54px,iOS7.[=15 上为 45px =]
无法弄清楚为什么会发生这种情况。当我的标题和副标题文本太长时,我会在文本末尾得到预期的 ...。但是我的左右附件视图像这样搞砸了。
附件视图框架和边界没有改变。它们与正常绘制视图时相同。喜欢,
Title可以长也可以subtile可以长,views都不会错位。只有当两者都很长并且有尾随......他们才搞砸了。
找不到任何关于视图的最大大小/或文本长度等的文档。
我采用了计算字符串长度的技巧,当它们超过我的限制时,我打印出一个简短的标题或副标题。我宁愿让它保持原样,只是弄清楚为什么这些视图会被推高以及如何解决。
谢谢
注意:我使用默认的MKAnnotationView,只是设置标题和副标题。
这似乎是一个可以通过不同方式解决的错误。
rightCalloutAccessoryView
垂直对齐可以通过简单地设置 autoresizingMask
来固定,如下所示:
UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
rightButton.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleTopMargin;
annotationView.rightCalloutAccessoryView = rightButton;
同样的技巧不适用于 leftCalloutAccessoryView
,它显然在默认设置 NSLayoutAttributes 方面存在错误。在这种情况下,我找到的最简单(最丑陋)且唯一的解决方法是对分配给 leftCalloutAccessoryView
的视图高度进行硬编码:iOS8 上为 54px,iOS7.[=15 上为 45px =]