我似乎无法在Swift中更改MKMapView的大小。怎么会继续呢?
我尝试了两种不同的方法,但没有任何运气:
var rect: CGRect = self.view.frame;
rect.origin.y = 0;
self.mapView.frame = rect;
和我使用约束和自动布局的一个但它使应用程序崩溃。有什么想法吗?
编辑:
当我编写此代码时,它不会崩溃,但会在输出中写入一些警告:
let height = UIScreen.mainScreen().bounds.height
let width = UIScreen.mainScreen().bounds.width
let widthConstraint = NSLayoutConstraint(item: mapView, attribute: NSLayoutAttribute.Width, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1, constant: width)
self.view.addConstraint(widthConstraint)
let heightConstraint = NSLayoutConstraint(item: mapView, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1, constant: height)
self.view.addConstraint(heightConstraint)
输出结果显示:
2016-03-09 18:43:02.697 Map [19782:3177712]无法同时满足约束。 可能至少下列列表中的一个约束是您不想要的约束。 试试这个: (1)查看每个约束并试图找出你不期望的; (2)找到添加了不需要的约束或约束的代码并修复它。 ( “” “” )
将尝试通过违反约束来恢复
在UIViewAlertForUnsatisfiableConstraints处创建一个符号断点 在调试器中捕获它。方法中的 在UIView中列出的UIConstraintBasedLayoutDebugging类别 也可能有所帮助。来自调试器的消息: 由于信号15而终止
我真的不明白这个,有什么想法吗?
答案 0 :(得分:0)
在这种情况下,您应该使用
<img class="img-responsive" ng-src="{{photo.media.m}}">
和
self.mapView.addConstraint(widthConstraint)
您正在尝试将属于mapView的约束添加到其超级视图中,这不是它应该的方式。如果要在mapview和另一个视图之间添加垂直距离,则可以将其添加到superview,但不是在这种情况下。
答案 1 :(得分:0)
对于约束警告,您尝试添加约束而不禁用自动提升掩码到约束转换中。
尝试添加此行:
mapView.translatesAutoresizingMaskIntoConstraints = false
致谢