无法弄清楚为什么会发生这种情况。当我的标题和副标题文本很长时,我会在文本末尾得到预期的...然而,我的左右配件视图会像这样混乱。
附件视图框和边界没有改变。它们与正常绘制视图时相同。像,
标题可以很长或者子标题可以很长,并且视图不会错位。只有当两者都很长并且尾随...时才会搞砸。
无法找到有关视图/文本长度等的最大大小应该是什么的任何文档。
我已经使用了计算字符串长度的黑客,当它们超出我的限制时,我打印出一个简短的标题或副标题。我宁愿把它留下来,只是弄清楚为什么这些观点被推高以及如何解决。
由于
注意:我使用默认的MKAnnotationView,只需设置标题和副标题。
答案 0 :(得分:1)
这似乎是一个可以通过不同方式解决的错误。
rightCalloutAccessoryView
垂直对齐可以通过简单设置autoresizingMask
来修复,如下所示:
UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
rightButton.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleTopMargin;
annotationView.rightCalloutAccessoryView = rightButton;
同样的技巧不适用于leftCalloutAccessoryView
,它显然存在默认情况下如何设置NSLayoutAttributes的错误。在这种情况下,我发现的最简单(最丑陋)和唯一的修复是硬编码分配给leftCalloutAccessoryView
的视图的高度:iOS8上54px,iOS7上45px。