ios - 动态信息窗口大小 ios 谷歌地图
<p><p>我正在像这样在谷歌地图上创建自定义信息窗口:</p>
<pre><code>NSArray *subviewArray = [ loadNibNamed:@"InfoView" owner:self options:nil];
InfoView *mainView = ;
UIView *subview = mainView.subviews;
//setup content
return subview;
</code></pre>
<p>这样它工作正常,但我不能添加任何约束,因为它会填满整个屏幕并变成空白。所以我决定不使用自动布局。</p>
<p>我的内容是几个标签一个接一个。在同样的情况下,文本不能适合单行,然后标签框应该增加。同时,还必须增加整个 View 框架,下面的 View 必须适当偏移。我已经制定了一种方法来做到这一点,除了信息窗口 View 框架本身之外,一切都在变化。在日志中,我可以看到框架发生了变化,但在屏幕上,它具有原始大小,并且文本在它之外。</p>
<p>我什至尝试只更改信息窗口框架,但仍然没有效果 - 它根本没有改变。 </p>
<p>我也试过调用 <code></code> 和 <code></code>。</p>
<p>那么,如何制作具有动态大小的信息窗口?</p>
<p>编辑:</p>
<p>@Milan 要求的完整代码:</p>
<pre><code>- (UIView *_Nullable) mapView:(GMSMapView *)mapView markerInfoContents: (GMSMarker *)marker {
NSArray *subviewArray = [ loadNibNamed:@"PortView" owner:self options:nil];
PortView *mainView = ;
UIView *subview = mainView.subviews;
mainView.frame = CGRectMake(mainView.frame.origin.x, mainView.frame.origin.y, mainView.frame.size.width, mainView.frame.size.height + 40) //increase frame size doesn't work
mainView.titleLabel.text = portSzukany.name;
return subview;
}
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您需要实现 GMSMapViewDelegate 并从以下方法返回信息 View :</p>
<pre><code>- (UIView *GMS_NULLABLE_PTR)mapView:(GMSMapView *)mapView markerInfoWindow:(GMSMarker *)marker;
</code></pre>
<p>根据对该方法的描述,“返回的 UIView 在任一维度上的边界不得大于 500 点。” </p></p>
<p style="font-size: 20px;">关于ios - 动态信息窗口大小 ios 谷歌地图,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/44672663/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/44672663/
</a>
</p>
页:
[1]