Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.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
UILabel在MKAnnotationView中的位置已更改iOS 11_Ios_Iphone_Autolayout_Ios11 - Fatal编程技术网

UILabel在MKAnnotationView中的位置已更改iOS 11

UILabel在MKAnnotationView中的位置已更改iOS 11,ios,iphone,autolayout,ios11,Ios,Iphone,Autolayout,Ios11,在扩展MKAnnotationView的类中,将创建UILabel并将其作为子级添加。将约束放置在父视图中,每侧使用5px填充 此视图在iOS 10.2中看起来不错,但在iOS 11中,UILabel似乎忽略了约束,并将其定位在父视图中的(0,0)处(尽管约束在调试视图中似乎处于活动状态) 以下是两个版本: 我一直在绞尽脑汁想知道为什么。。。你知道这是什么原因吗 注意:当我将约束设置为top=superview.top+0时,UILabel实际上有一个y值-5px,并延伸到父视图MKAnno

在扩展
MKAnnotationView
的类中,将创建
UILabel
并将其作为子级添加。将约束放置在父视图中,每侧使用5px填充

此视图在iOS 10.2中看起来不错,但在iOS 11中,
UILabel
似乎忽略了约束,并将其定位在父视图中的(0,0)处(尽管约束在调试视图中似乎处于活动状态)

以下是两个版本:

我一直在绞尽脑汁想知道为什么。。。你知道这是什么原因吗


注意:当我将约束设置为top=superview.top+0时,
UILabel
实际上有一个y值
-5px
,并延伸到父视图
MKAnnotationView
的上方。因此,在
ios11
版本中,边界似乎关闭了5px

你找到答案了吗?我最终解决了这个问题,通过设置
frame
来定位标签,而不是使用布局约束。仍然不确定问题的确切原因,但这暂时有效。