我们使用 Firebase 的 Crashlytics,在过去 2 天里,我们发现 iOS 16 设备上的navigationController?.setNavigationBarHidden崩溃次数激增。安装 Xcode 14.5 后我能够重现崩溃
我有一个嵌入在导航控制器中的视图控制器(VC1),其中包含以下代码
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
...
navigationController?.setNavigationBarHidden(false, animated: animated) // crash here
}
Run Code Online (Sandbox Code Playgroud)
在我使用以下代码推送另一个视图控制器(VC2)之后
navigationController?.pushViewController(vc, animated: true)
Run Code Online (Sandbox Code Playgroud)
应用程序崩溃并显示以下错误消息
2022-08-10 15:07:04.866752-0700 autolist-dev [22341:3295980] *** 由于未捕获的异常'NSGenericException'而终止应用程序,原因:'无法激活带有锚点的约束<NSLayoutXAxisAnchor:0x600001a9d740“_UITAMICAdaptorView:0x7fd6c70 DDBE0 .leading"> 和 <NSLayoutXAxisAnchor:0x600001466680 "_UINavigationBarTitleControl:0x7fd6c70dcb80.leading"> 因为它们没有共同的祖先。约束或其锚点是否引用不同视图层次结构中的项目?这是非法的。
第一次推送 VC2 时,它不会立即崩溃。当我返回 VC1 然后再次推送 VC2 后,应用程序崩溃了。
有谁对如何解决这个问题有任何想法?我似乎找不到其他人有类似的问题
我在尝试使用 Facebook 登录时收到以下错误
由于未捕获的异常“InvalidOperationException”而终止应用程序,原因:“fb---AppID---未注册为 URL 方案。请将其添加到您的 Info.plist'
问题是“fb---AppID---”位于我的 Info.plist 文件中。我遵循了此处显示的 FB 文档中列出的 3 个要点。
我直接从文档中复制了应用程序名称和应用程序 ID。我究竟做错了什么?文档中是否缺少步骤?是我在其他地方没有正确配置吗?

我在将图像上传到Parse时遇到问题.我认为问题可能与图像文件大小有关,但根据此链接
https://parse.com/questions/file-size-limit-in-uploads
每个文件最大可达10MB.我可以成功上传2个图像,每个图像为1.7MB,但是一旦我尝试上传2个大于2 MB的图像,呼叫就会永久停止.即使在等待5分钟加载图像后,应用程序也不会崩溃,只是无限加载."发布"对象保存正常,但图像未保存.
我已经包含了上传图像的相关代码,以便在下面进行解析.有人能让我知道我做错了什么吗?是否与我将图像保存到名为"Images"的类,然后将PFObject保存在列表中与其他图像,然后将该图像列表保存为"Post"类中的列有关?我希望能够直接访问与此帖子相关的图像,而无需进行额外的API调用来检索与帖子相关联的图像.如果有任何不清楚的地方,请告诉我.
var post = PFObject(className: "Post")
post["caption"] = captionTextField.text
post["user"] = PFUser.currentUser()
post.saveInBackgroundWithBlock{(success: Bool, error: NSError?) -> Void in
if success == false {
println("failed 1")
self.activityIndicator.stopAnimating()
UIApplication.sharedApplication().endIgnoringInteractionEvents()
} else {
let imageOneData = UIImagePNGRepresentation(self.imageOne)
let imageOneFile = PFFile(name: "imageOne.png", data: imageOneData)
let imageTwoData = UIImagePNGRepresentation(self.imageTwo)
let imageTwoFile = PFFile(name: "imageTwo.png", data: imageTwoData)
var images: [PFFile] = [imageOneFile, imageTwoFile]
var finishedUploads = 0
var listOfImages : [PFObject] = []
for var i = 0; i < …Run Code Online (Sandbox Code Playgroud) 我找到了很多示例,展示了如何从 UIBarButtonItem 呈现弹出框,但我想知道如何从 UITabBarItem 呈现它。
这是我到目前为止所拥有的
let selectedItem = self.menuTabBar.items![3]
let menuViewController: ActivityPopoverViewController = storyboard.instantiateViewControllerWithIdentifier("MenuViewController") as! ActivityPopoverViewController
presentViewController(menuViewController, animated: true, completion: nil)
menuViewController.modalPresentationStyle = .Popover
if let popoverMenuViewController = menuViewController.popoverPresentationController {
popoverMenuViewController.permittedArrowDirections = .Any
popoverMenuViewController.delegate = menuViewController
// popoverMenuViewController.barButtonItem = ?
}
Run Code Online (Sandbox Code Playgroud)
我试图将作为 UITabBarItem 的 selectedItem 转换为 UIBarButtonItem ,但这没有用。我确定这是一个简单的过程,但我似乎无法找到有关如何执行此操作的任何帮助。
我的目标是让这个橙色弹出框指示未读活动。
更新#1。在做了更多的研究之后,我发现了这种呈现视图控制器的策略
let tabBarItemWidth = Int(self.menuTabBar.frame.size.width) / (self.menuTabBar.items?.count)!
let x = tabBarItemWidth * 3;
let newRect = CGRect(x: x, y: 0, width: tabBarItemWidth, height: Int(self.menuTabBar.frame.size.height))
print(newRect)
let menuViewController: ActivityPopoverViewController = storyboard.instantiateViewControllerWithIdentifier("ActivityPopoverViewController") …Run Code Online (Sandbox Code Playgroud) 我正在尝试合并2张图像而不会丢失原始图像的大小.我有一个大的白色图像,我想将一个较小的图像合并到它上面.如果我移动较小的图像以便只有较大的图像显示在较大的图像上,那么当我合并2个图像时,只显示正在显示的图像的一半,并且应该裁剪另一边.
下图的层次结构
UIView:检查剪辑子视图
---->带有白色图像的UIImageView
----> UIImageView:此图像有一个平移手势,允许它在视图中移动.
我发现这篇文章合并了两个不同的图像,并试图掩盖图像
let maskedImage: UIImage = self.maskImage(imageView.image!, withMask: whiteImage.image!)
newImageView.image = maskedImage
Run Code Online (Sandbox Code Playgroud)
但这并未考虑图像视图中的图像当前位置.它只返回原始图像(然后调整大小以适应UIIMageView,这就是它比以前更大的原因)
有谁知道如何合并2张图片并考虑他们在合并时的位置?理想情况下,第二个图像看起来与第一个图像完全相同,只不过它是单个图像而不是两个图像.
swift ×4
image ×2
ios ×2
app-id ×1
crashlytics ×1
facebook ×1
image-size ×1
info.plist ×1
ios16 ×1
merge ×1
popover ×1
uiimage ×1
uitabbaritem ×1
xcode14 ×1