- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
当我单击“+”时,我想在右侧的 BarButtonItem 下显示菜单(弹出窗口),其中有两个选项。按这些选项之一将导致其他 View Controller 。
我正在使用 Xcode 10 和 Swift 4.2。
这是我现在的代码,没有任何反应。我做错了什么?我可以用不同的方式写吗?
import Foundation
class RootVC: UITableViewController {
@IBOutlet weak var openSideMenu: UIBarButtonItem!
let itemArray = ["1", "2", "3"]
override func viewDidLoad() {
super.viewDidLoad()
openSideMenu.target = self.revealViewController()
openSideMenu.action = #selector(SWRevealViewController.revealToggle(_:))
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return itemArray.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "RootCell", for: indexPath)
cell.textLabel?.text = itemArray[indexPath.row]
return cell
}
@IBAction func addBarButtonPressed(_ sender: UIBarButtonItem) {
let menu = UIMenuController.shared
menu.menuItems =
[UIMenuItem(title: "Test me", action: Selector("deleteLine")),
UIMenuItem(title: "Test me", action: Selector("deleteLine")),
UIMenuItem(title: "Test me", action: Selector("deleteLine"))]
menu.setTargetRect((self.navigationItem.rightBarButtonItems?.first?.frame)!, in: self.view)
becomeFirstResponder()
menu.setMenuVisible(true, animated: true)
}
}
extension UIBarButtonItem {
var frame: CGRect? {
guard let view = self.value(forKey: "view") as? UIView else {
return nil
}
return view.frame
}
}
最佳答案
我使用 AssistoLab/DropDown CocoaPods ( link ) 解决了我的问题
这是代码:
import Foundation
import DropDown
class ViewController: UIViewController {
@IBOutlet weak var addBarButton: UIBarButtonItem!
let rightBarDropDown = DropDown()
override func viewDidLoad() {
super.viewDidLoad()
rightBarDropDown.anchorView = addBarButton
rightBarDropDown.dataSource = ["Generate New", "Add Manual"]
rightBarDropDown.cellConfiguration = { (index, item) in return "\(item)" }
}
@IBAction func showBarButtonDropDown(_ sender: AnyObject) {
rightBarDropDown.selectionAction = { (index: Int, item: String) in
print("Selected item: \(item) at index: \(index)") }
rightBarDropDown.width = 140
rightBarDropDown.bottomOffset = CGPoint(x: 0, y:(rightBarDropDown.anchorView?.plainView.bounds.height)!)
rightBarDropDown.show()
}
}
关于ios - 单击时在 BarButtonItem 下方显示下拉菜单(弹出窗口),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52576425/
我有一个在 TextView 中显示一些信息的屏幕,我希望用户能够编辑它。 现在,我在导航栏的右侧有一个编辑按钮,我在代码中创建如下: UIBarButtonItem *editButton = [
我有一个嵌入在 UINavigationController 中的 UITableView。我在 Storyboard中设置了一个 rightBarButtonItem 。如果我以正常方式继续,一切都
我想要自定义导航项目作为 facebook 应用程序。有两个按钮和一个 UISearchBar。按钮是 leftBarButtonItem 和 rightBarButtonItem。 UISearch
我的屏幕底部有一个工具栏。我想在上面有两个按钮,一个在左侧,一个在右侧。然而,与导航栏不同的是,有多个点并不位于导航栏的每一侧,而是从左到右彼此相邻堆叠。 我尝试使用固定分隔符,但是随着方向和设备的变
在 iOS 上,如果您没有手动在导航堆栈中设置栏按钮项目,则会为您添加一个带有前一个 Controller 的标题和后退箭头的项目。我只想保留箭头。例如如果我以前的 Controller 的标题是 H
我只是遇到了一个小问题。我找到这段代码: MKUserTrackingBarButtonItem *trackingButton = [[MKUserTrackingBarButtonItem all
我在右侧有一个简单的 + 按钮,用于将行添加到我的 tableView,但是该按钮没有出现。我是这样实现的 let AddButton = UIButton() AddButton.s
在我制作的应用程序中,我试图启用登录/注销到 Twitter。我想要它以便有一个 barbuttonitem 如果没有当前用户则说登录,或者如果有一个则说注销。我在 Storyboard上创建了两个按
我在整个项目中使用这段代码来更新我的 UIBarButtonItem 的标题。 在这个特定的类中,我有一个 NSFetchedResultsController,我想获取它的计数以设置为按钮的标题。
我得到了以下代码: - (id)init { if (self = [super init]) { self.title = @"please wait"; UIBarBu
我可以使用 setBackgroundVerticalPositionAdjustment 更改自定义栏按钮项的 y,但是如何更改水平位置? [viewController.navigationIte
我在我的导航 Controller 上制作了一个自定义栏按钮项目,它工作正常,但现在不行了。这是我用来制作自定义栏按钮的行: func addSlideMenuButton(){ l
如何转换此代码以使该按钮出现在工具栏中? : navigationItem.rightBarButtonItem = editButtonItem() 最佳答案 试试这个, let barBu
我想将 barButtonItem 添加到 tabBar 上,这样我就不必在屏幕顶部使用导航 Controller 。 我的 ViewController 嵌入到 tabBarController 中
这是我在 SO 上发表的第一篇文章。我是一名参加代码学校的程序员新手。 我的问题是我有一个用 Swift 编写的 iOS 应用程序。初始 View Controller 是一个带有嵌入式 TableV
是否可以更改 UINavigationBar 上的后退按钮并更改标题? 当我尝试设置 customView 属性时,我在默认按钮旁边看到了一张图片。 我用这个代码 self.navigationIte
如何更改按钮上的标题? 最佳答案 如果这来自导航 Controller ,则设置父 VC 的标题会将按钮的标题设置为该字符串值。 关于iphone - 更改 BarButtonItem 的标题,我们在
我有一个像这样初始化的按钮> self.button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemI
我需要以模态方式显示 PDF 文件,当我的用户单击某些按钮时,我将 PDF 加载到类中并以模态方式呈现它,现在我需要在 modalVC 上为用户提供 ab 按钮以关闭或返回所以我添加了RightBar
出于某种原因,当我将背景图像应用到 UIBarButtonItem 时,它会使角变成尖锐的矩形。如何使用 UIAppearance 解决这个问题? // bar button id barB
我是一名优秀的程序员,十分优秀!