使用 Swift/Storyboard 制作 2 个 toolbar/footer 宽度为 50% 的按钮
Make 2 toolbar/footer buttons with 50% width with Swift/Storyboard
我正在尝试显示标题栏、图像,然后显示两个按钮,几乎如下所示。主要区别在于我希望两个项目按钮的宽度为 50%,并且每个按钮都是纯色(占据屏幕的整个底部)。我没有使用标签栏,因为按钮只是为了改变图像,而不是整个视图控制器。
到目前为止,在使用故事板时,我只是停留在按钮上。我将它们作为栏按钮项放在工具栏中。然后我尝试在控制器中设置它们的宽度:
@IBOutlet weak var firstButton: UIBarButtonItem!
@IBOutlet weak var secondButton: UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
self.firstButton.width = self.view.bounds.width / 2
self.secondButton.width = self.view.bounds.width / 2
}
我相信它们设置正确,但工具栏迫使一些 space 位于第一个按钮的前面。我什至还没有改变他们的背景颜色,但我希望一旦我完成间距,这会很简单。
我是 iOS 开发的新手,因此欢迎任何提示。我的目标是让它普遍工作,但我愿意让它在 iPhone 锁定的肖像上工作。
如果您使用自动布局,则需要将工具栏的宽度设置为等于具有宽度限制的容器视图。然后将两个项目的宽度设置为彼此相等,将这些间距设置为零。
无需手动设置宽度。
顺便说一句,如果您希望 UIImageView 是全宽的,请不要忘记对它做同样的事情。
有用的链接:
http://www.raywenderlich.com/83129/beginning-auto-layout-tutorial-swift-part-1
http://www.raywenderlich.com/50317/beginning-auto-layout-tutorial-in-ios-7-part-1
http://www.raywenderlich.com/64392/video-tutorial-beginning-auto-layout
使用Autolayout相对简单,你需要将按钮的宽度设置为与SuperView相等,并将Multiplier常量设置为0.5
或者设置 Toolbar 宽度等于 Superview 的 Multiplier 1.0,然后 UIButtons 等于工具栏的宽度但 Multiplier 0.5
像这样
以前的答案没有解决问题,使用工具栏似乎有一些内部填充。那你可能无法向条形按钮添加约束。
我的实际解决方案是:
删除栏按钮和工具栏。在底部添加两个 UIButton。添加以下约束
第一个按钮
- 带领 Space 进入 Superview
第二个按钮
- 带领 Space 进入 Superview
第一个按钮和第二个按钮
- 底部 Space 到 Superview
- ImageView 的比例宽度,乘数为 0.5
Swift 5 使用 故事板:
您可以将 Flexible Space Bar Button Item
添加到您的工具栏,这将使您的图标间距相等。将它们放在您的栏按钮项目之间,它们将自动填充您工具栏中的 space。
见下文:
我正在尝试显示标题栏、图像,然后显示两个按钮,几乎如下所示。主要区别在于我希望两个项目按钮的宽度为 50%,并且每个按钮都是纯色(占据屏幕的整个底部)。我没有使用标签栏,因为按钮只是为了改变图像,而不是整个视图控制器。
到目前为止,在使用故事板时,我只是停留在按钮上。我将它们作为栏按钮项放在工具栏中。然后我尝试在控制器中设置它们的宽度:
@IBOutlet weak var firstButton: UIBarButtonItem!
@IBOutlet weak var secondButton: UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
self.firstButton.width = self.view.bounds.width / 2
self.secondButton.width = self.view.bounds.width / 2
}
我相信它们设置正确,但工具栏迫使一些 space 位于第一个按钮的前面。我什至还没有改变他们的背景颜色,但我希望一旦我完成间距,这会很简单。
我是 iOS 开发的新手,因此欢迎任何提示。我的目标是让它普遍工作,但我愿意让它在 iPhone 锁定的肖像上工作。
如果您使用自动布局,则需要将工具栏的宽度设置为等于具有宽度限制的容器视图。然后将两个项目的宽度设置为彼此相等,将这些间距设置为零。
无需手动设置宽度。
顺便说一句,如果您希望 UIImageView 是全宽的,请不要忘记对它做同样的事情。
有用的链接:
http://www.raywenderlich.com/83129/beginning-auto-layout-tutorial-swift-part-1 http://www.raywenderlich.com/50317/beginning-auto-layout-tutorial-in-ios-7-part-1 http://www.raywenderlich.com/64392/video-tutorial-beginning-auto-layout
使用Autolayout相对简单,你需要将按钮的宽度设置为与SuperView相等,并将Multiplier常量设置为0.5
或者设置 Toolbar 宽度等于 Superview 的 Multiplier 1.0,然后 UIButtons 等于工具栏的宽度但 Multiplier 0.5
像这样
以前的答案没有解决问题,使用工具栏似乎有一些内部填充。那你可能无法向条形按钮添加约束。
我的实际解决方案是:
删除栏按钮和工具栏。在底部添加两个 UIButton。添加以下约束
第一个按钮
- 带领 Space 进入 Superview
第二个按钮
- 带领 Space 进入 Superview
第一个按钮和第二个按钮
- 底部 Space 到 Superview
- ImageView 的比例宽度,乘数为 0.5
Swift 5 使用 故事板:
您可以将 Flexible Space Bar Button Item
添加到您的工具栏,这将使您的图标间距相等。将它们放在您的栏按钮项目之间,它们将自动填充您工具栏中的 space。
见下文: