如何将 UISlider 更改为垂直?
我正在为我的应用程序定制 UISlider
。我希望滑块处于垂直方向,但默认的 UISlider
处于水平方向。我找不到如何更改 UISlider
的方向。
如何在 XCode 中制作垂直滑块?
I am customizing an UISlider
for my app. I want the slider to be in vertical orientation, but the default UISlider
is in horizontal orientation. I couldn't find how to change a UISlider
's orientation.
How can I make a vertical slider in XCode?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
默认情况下,UISlider 是水平的 (--)。如果您希望使其垂直 (|),那么您必须以编程方式执行此操作,可能使用
CGAffineTransform
。例如,您可以将此代码段添加到viewDidLoad
或您认为合适的任何位置:By default, a UISlider is horizontal (--). If you wish to make it vertical (|) then you must do this programmatically, probably with a
CGAffineTransform
. For example, you can add this snippet toviewDidLoad
or wherever you deem appropriate:如果您使用自动布局:
在您的 viewDidLoad 中,尝试:
它不适用于约束,因此技巧是删除 uislider 的约束。
您可能必须通过设置其框架属性来手动调整其大小。
In case you are using auto layouts:
In your viewDidLoad, try:
It does not work with constraints, so the trick is to remove the constraints for your uislider.
You might have to resize it manually by setting its frame property.
我遇到了问题:
因为我在 ViewDidLoad 方法中有代码。相反,我将代码放入 ViewDidAppear 中并且工作正常。
编辑:它不必在 ViewDidAppear 中,ViewDidLoad 也可以正常工作(甚至更好)。您可以禁用自动调整大小,或为正在旋转的滑块设置约束,以便旋转后大小不会改变。
I had a problem with :
because I had the code in ViewDidLoad method. Instead, I put the code in ViewDidAppear and it worked fine.
Edit: it doesn't have to be in the ViewDidAppear, ViewDidLoad works fine too (even better). You could disable auto-resize, or set a constraint for the slider you're rotating so the size doesn't change after rotation.
对于 Swift 5
For Swift 5