gpt4 book ai didi

swift - 如何使用 Swift 显示工具栏按钮并将其添加到 UITableViewController

转载 作者:行者123 更新时间:2023-11-30 13:53:48 25 4
gpt4 key购买 nike

我正在尝试以编程方式显示工具栏按钮并将其添加到嵌入 UINavigationController 中的 UITableViewController 中的工具栏。出现工具栏,但不出现任何按钮。这是我的代码:

    var items = [UIBarButtonItem]()
items.append(UIBarButtonItem.init(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil))
items.append(UIBarButtonItem(title: "Clear", style: UIBarButtonItemStyle.Plain, target: self, action: Selector("btnClearAction")))

self.navigationController!.setToolbarHidden(false, animated: true)
self.navigationController!.setToolbarItems(items, animated: false)

最佳答案

在将我的应用程序迁移到 swift 时,我发现我遇到了同样的问题。只是我试图将其添加到包含 TableView 的左侧菜单 Controller 中。不应该有那么不同吗?

我刚刚通过以编程方式创建工具栏解决了这个问题。

这就是我所做的:

类(class)下

class LeftViewController: ViewController, UITableViewDataSource, UITableViewDelegate {
var tableView: UITableView!
var toolBar: UIToolbar!


override func viewDidLoad() {
super.viewDidLoad()

self.view.backgroundColor = UIColor(red: 45/255, green: 45/255, blue: 45/255, alpha: 1.0)

self.tableView = UITableView(frame: self.view.bounds, style: .Plain)
self.tableView.delegate = self
self.tableView.dataSource = self
self.view.addSubview(self.tableView)

//UPDATE #3
self.tableView.frame = CGRectMake(0, 20, self.view.frame.size.width, self.view.frame.size.height-20)
self.edgesForExtendedLayout = .None


navigationController?.navigationBar.barTintColor = UIColor.blackColor()
navigationController?.navigationBarHidden = true

let Button1 = UIBarButtonItem(title: "Button1", style: .Plain, target: self, action: "your action")
let Button2 = UIBarButtonItem(title: "Button2", style: .Plain, target: self, action: "your action")
let Button3 = UIBarButtonItem(title: "Button3", style: .Plain, target: self, action: "your action")
let Button4 = UIBarButtonItem(title: "Button4", style: .Plain, target: self, action: "your action")

//Flexiable Space
let flexiableItem = UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil)


//UPDATE #2
toolbarItems = [Button1, Button2, flexiableItem, Button3, Button4]
}

显然,您可以根据需要设置按钮、 View 、单元格等的样式。

我确实在发布的内容中遗漏了很多内容,因为它们与主题无关。

希望这有帮助。

更新:惊人的。一项修复会带来另一个问题。旋转设备时我的工具栏消失了。向后旋转,按钮就消失了。可能只是我的项目中的一些东西,但是是的。

更新#2:答案已更新为工作代码。删除了我制作的工具栏并找到了一个有效的解决方案。即使有旋转。

更新#3:将表格 View 设置为 20 像素,创建“状态栏”,并将表格 View 底部缩小 20 像素,使其适合工具栏顶部。

关于swift - 如何使用 Swift 显示工具栏按钮并将其添加到 UITableViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33924351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com