- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个大约 300 高的 MKMapView
,它在另外两个 View 之间折叠,就像折叠 View 时通常做的那样简单地上下动画高度。
@IBOutlet var heightMap: NSLayoutConstraint!
@IBOutlet var theMap: MKMapView!
当 View 启动时它的高度为零..
override func viewDidLoad() {
super.viewDidLoad()
..
heightMap.constant = 0
}
有一个令人气愤的警告...
[LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<NSLayoutConstraint:0x6080000904f0 MKMapView:0x7fe6b3000600.height == 0 (active)>",
"<NSLayoutConstraint:0x608000093a60 UILayoutGuide:0x60800018fd80'Edge Insets'.top == MKMapView:0x7fe6b3000600.top + 8 (active)>",
"<NSLayoutConstraint:0x608000093b50 UILayoutGuide:0x60800018fd80'Edge Insets'.bottom == MKMapView:0x7fe6b3000600.bottom (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x608000093b50 UILayoutGuide:0x60800018fd80'Edge Insets'.bottom == MKMapView:0x7fe6b3000600.bottom (active)>
请注意,它似乎在与“edgeInsets”或可能的“Edge Insets”(带空格!)顶部和底部作斗争,
'Edge Insets'.top == MKMapView:0x7fe6b3000600.top + 8
'Edge Insets'.bottom == MKMapView:0x7fe6b3000600.bottom
map View 有一个只读属性.alignmentRectInsets
(实际上,当我打印出来时,无论它是什么,它都是零..
let ari = theMap.alignmentRectInsets
print("wth \(ari)")
> wth UIEdgeInsets(top: 0.0, left: 0.0, bottom: 0.0, right: 0.0)
)
我什至在 MKMapView 上找不到任何关于“边缘插入”的信息,这是怎么回事?
我仔细检查了未安装的约束和常见问题。
最佳答案
有趣的是,如果初始高度为零,我只会收到此错误,因此这似乎是 map View 初始设置的问题。他们的解决方案似乎是
何时显示 mapView:
动画到最终位置
class ViewController: UIViewController{
@IBOutlet weak var m: MKMapView!
@IBOutlet weak var h: NSLayoutConstraint!
@IBAction func t(_ sender: Any) {
m.isHidden = false
h.constant = .ulpOfOne
view.layoutIfNeeded()
h.constant = 100
UIView.animate(withDuration: 3) {
self.view.layoutIfNeeded()
}
}
}
仅供引用,我实际上会为此使用 UIStackView,而只是为 isHidden 设置动画,然后您甚至不必处理代码中的约束。
关于ios - MKMapView 与零高度约束斗争 - map View 的 edgeInsets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43322973/
在 NSStackView 上使用 edgeInsets 会被 Interface Builder 和运行应用程序时忽略。 最佳答案 NSStackView 默认拥抱优先级为 250。edgeInse
我有一个符合 UIPageViewControllerDataSource 的包含 UIViewController 并且有一个 UIPageViewController 作为 childViewCo
经过几天的挣扎,我想问你有关 UIButton 标题和图像边缘插入的问题......我有带按钮的自定义单元格,该按钮取决于单元格类型应该是不同的图标和文本,但要求文本应该居中,图像可以左对齐或右对齐。
我正在尝试围绕 Flutter 中的 ui 放置。所以我目前有一些看起来像这样的东西 我想添加一点空格 b/w 搜索 Textfield 和按钮。这就是我的代码的控制部分的样子。我正在尝试设置 tex
我正在制作一个非常简单的网格,基本上是 9 个正方形,我将填充设置为 EdgeInsets.zero(或 EdgeInsets.all(0)),有时, 根据窗口的大小,它显示或不显示填充。 我在 ch
我正在尝试在某些文本的左侧添加一个带有图标的按钮: 我对 UIButton 的理解有问题。向按钮添加标题效果很好: import UIKit let button = UIButton(frame:
我正在尝试将文本添加到图像底部,但 setImage 隐藏了我的文本。 Top1.setImage(UIImage(named: "DefaultPic.jpg"), forState: UICont
我正在尝试创建一个自定义单元格,每个单元格的顶部、左侧、底部间距。是否有任何 Collection View 数据源方法,以便在每个索引路径中指定单元格插入。 func collectionView(
我有一个大约 300 高的 MKMapView,它在另外两个 View 之间折叠,就像折叠 View 时通常做的那样简单地上下动画高度。 @IBOutlet var heightMap: NSLayo
错误: Argument of a constant creation must be constant expressions. 代码: import 'package:flutter/materi
在阅读 Flutter 文档中的布局教程时,我遇到了 margin: const EdgeInsets.only(top: 8.0), 这里 const 的目的是什么?例如 return Colu
我正在尝试了解 Flutter 的一些基本元素。当我尝试使用容器的属性(如填充)时,我相信它需要一个“EdgeInsetGeometry”类。当我阅读有关此类的文档时,我看到有“EdgeInset”类
我是一名优秀的程序员,十分优秀!