ios - 在带有操作的条形按钮项上显示徽章
问题描述
我的视图控制器上有一个条形按钮项目,它显示了一个弹出视图,我有一个扩展来在任何按钮上显示徽章,我试图在图标上显示徽章,但它显示了另一个视图,我想显示我的栏按钮项目上的徽章,
我试过这段代码
func addBadge(itemvalue: String) {
let bagButton = BadgeButton()
bagButton.frame = CGRect(x: 0, y: 0, width: 44, height: 44)
bagButton.tintColor = UIColor.darkGray
bagButton.setImage(UIImage(named: "comment")?.withRenderingMode(.alwaysTemplate), for: .normal)
bagButton.badgeEdgeInsets = UIEdgeInsets(top: 20, left: 0, bottom: 0, right: 15)
bagButton.badge = itemvalue
self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: bagButton)
}
我的弹出按钮代码
@IBAction func showPopoverButtonAction(_ sender: Any) {
//get the button frame
/* 1 */
let button = sender as? UIButton
let buttonFrame = button?.frame ?? CGRect.init(x: -20, y: -320, width: 200, height: 400)
/* 2 */
//Configure the presentation controller
guard let popoverContentController = self.storyboard?.instantiateViewController(withIdentifier: "PopOverViewController") as? PopOverViewController else { return }
popoverContentController.modalPresentationStyle = .popover
popoverContentController.dpostID = self.postIdm
popoverContentController.dpostTitle = self.postTitlem
popoverContentController.duserPhone = self.muserPhone
popoverContentController.delegate = self
/* 3 */
if let popoverPresentationController = popoverContentController.popoverPresentationController {
popoverPresentationController.permittedArrowDirections = .up
popoverPresentationController.sourceView = self.view
popoverPresentationController.sourceRect = buttonFrame
popoverPresentationController.delegate = self
// if let popoverController = popoverContentController {
//
// }
present(popoverContentController, animated: true, completion: nil)
}
}
目前它是这样显示的! 在此处输入图像描述
但我希望徽章在我的栏按钮上,而不是新按钮上!
澄清一下:带有徽章的新栏按钮是由问题中的代码生成的,评论按钮是我想在其上显示徽章的 mybutton。
弹出按钮是我想要显示徽章的按钮,而不是代码中生成的按钮
解决方案
推荐阅读
- javascript - 更改 JavaScript 中的默认复制/粘贴机制
- php - 试图将文件链接发送到邮件但只得到一个文件
- spring-boot - Docker容器忽略目录中的文件夹
- javascript - 使用鼠标悬停在three.js中旋转相机
- scom - 移动到新版本的 Active Directory 时更新 SCOM 中的自定义规则
- c - 如何通过 C 代码使用 ffmpeg lib 将 mp4(h264&aac) 转换为 m3u8 (hls)?
- c# - 如何在浏览器中不打开页面的情况下自动运行 asp.net mvc 应用程序
- android - 如何使用 android 相机应用程序修复这些错误?
- authentication - 拥有身份验证/授权微服务是否更安全?
- c++ - cocos2d-x 4.0版为什么没有宏CCARRAY_FOREACH?