如何以编程方式创建固定空间和灵活的空格键按钮项目?
我想以编程方式创建 UIBarButtonItems 并将这些固定空间项目放置在按钮之间。
I want to create UIBarButtonItems
programmatically and place these fixed space items between buttons.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
斯威夫特
Swift
在撰写本文时,如果您的目标是 iOS 14 及更高版本,则可以使用相应的类函数更简洁地获取固定和灵活的空间项:
文档:固定空间, 灵活空间
As of this writing, if you're targeting iOS 14 and above, you can use the corresponding class functions to get fixed and flexible space items more concisely:
Docs: fixed space, flexible space
在斯威夫特:
In Swift:
斯威夫特5.1.2
Swift 5.1.2
在 ViewDidLoad 中:
也不要忘记每个按钮的操作(在本例中为 UIWebView):
等等。
In ViewDidLoad:
Do not forget the actions for each button also(in this example a UIWebView):
etc.
在 Swift 3 中,
UIBarButtonItem
有一个名为init(barButtonSystemItem:target:action:)
。init(barButtonSystemItem:target:action:)
具有以下声明:UIBarButtonSystemItem
是一个枚举,提供了许多情况,包括完成
、播放
、添加
或取消
。不过,根据您的需要,您也可以选择flexibleSpace
或fixedSpace
案例。flexibleSpace
案例具有以下声明:fixedSpace
案例具有以下声明:因此,您可以通过编程方式创建固定和灵活的空格键项目,如下所示:
作为示例,下面的 Playground 代码展示了如何添加一个底部栏,其中两个居中的播放和暂停栏按钮项目以 30 的固定间距分隔开。视图控制器:
使用 View 在 Playground 助理编辑器中预览视图控制器 ▸ 助理编辑器 ▸ 显示助理编辑器
With Swift 3,
UIBarButtonItem
has an initializer calledinit(barButtonSystemItem:target:action:)
.init(barButtonSystemItem:target:action:)
has the following declaration:UIBarButtonSystemItem
is an enumeration that offers many cases includingdone
,play
,add
orcancel
. However, according to your needs, you may also chooseflexibleSpace
orfixedSpace
cases.flexibleSpace
case has the following declaration:fixedSpace
case has the following declaration:Therefore, you can create fixed and flexible space bar button items programmatically as shown below:
As an example, the Playground code below shows how to add a bottom bar with two centered play and pause bar button items separated by a fixed space of 30 in a view controller:
Preview your view controller in the Playground assistant editor using View ▸ Assistant Editor ▸ Show Assistant Editor