附加到屏幕特定部分的按钮
Posted
技术标签:
【中文标题】附加到屏幕特定部分的按钮【英文标题】:Button that is attached to the particular part of the screen 【发布时间】:2017-07-30 14:52:58 【问题描述】:我想添加一个。这意味着当我滚动 TableView 时,此按钮在屏幕上的位置不会改变。我希望我的屏幕看起来完全像 this 或 this 应用程序。
如果有任何帮助,我将不胜感激。谢谢!
【问题讨论】:
我认为为此您可以将按钮添加到导航控制器 【参考方案1】:如果你想添加全局按钮然后使用。
class func addGlobalButton()
let bounds = UIScreen.main.bounds
//Create Button Frame
let button = UIButton(frame: CGRect(x: bounds.width - 90, y: bounds.height - 150, width: 80, height: 80))
//For Circular button
button.clipsToBounds = true
button.layer.cornerRadius = 40
button.backgroundColor = UIColor.red
button.setTitle("+", for: .normal)
button.setTitleColor(UIColor.black, for: .normal)
button.addTarget(self, action:#selector(self.buttonClicked), for: .touchUpInside)
UIApplication.shared.keyWindow?.addSubview(button)
class func buttonClicked()
print("Button Clicked")
将此函数放入应用委托中,并在任何视图控制器中调用一次:
AppDelegate.addGlobalButton()
【讨论】:
如果您没有导航控制器,请检查答案 抱歉,按钮应该出现在哪里?实施后我看不到它。我没有导航控制器,如果需要,我可以嵌入其中 这是否会使按钮出现在所有 vc 的 vc 上方? 是的,它使按钮出现在所有 vc 上 目前我只使用一个视图来实现这个目的,所以导航栏的情况现在更容易了。我真的很感谢你的帮助:) 如果我以后决定使用你的方法,问题是:我在应用程序委托中实现了这段代码,但我不能在我的 ViewController 中调用它:“Instance member 'addGlobalButton' cannot be used on输入‘AppDelegate’;你是不是要使用这种类型的值?”我把它放在我的 ViewDidLoad【参考方案2】:检查这个例子:
let button = UIButton(frame: CGRect(x: 0, y: self.view.frame.height - 99, width: self.view.frame.width, height: 50))
button.backgroundColor = UIColor(red: 0, green: 88/255, blue: 171/255, alpha: 1)
button.tintColor = .white
button.titleLabel?.font = UIFont(name: "Helvetica", size: 20)
button.setTitle("Search", for: .normal)
button.addTarget(self, action: #selector(search), for: .touchUpInside)
self.navigationController?.view.addSubview(button)
此代码创建一个按钮并将其放入表格视图上方的导航控制器中
【讨论】:
嗯,我现在明白了。但是如果我没有标签栏怎么办?如何将此按钮附加到视图底部? 你的情况如何? 这是我的Storyboard 和simulator 截图,如果你是这个意思的话。 所以你可以使用这个代码,因为你有导航控制器以上是关于附加到屏幕特定部分的按钮的主要内容,如果未能解决你的问题,请参考以下文章