如何把UISlider垂直?
-
24-09-2019 - |
题
我想要把 UISlider
在垂直。我不知道关于这一点,那么请帮助我这一点。
解决方案
你必须要做到这一programaticaly.假设你UISlider定一个称为可变 slider
, 添加这种代码在你viewDidLoad方法在ViewController.m:
- (void)viewDidLoad {
[super viewDidLoad];
CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI * 0.5);
slider.transform = trans;
}
让我知道如果你需要任何更多的帮助。
其他提示
因的4.2,你可以 排序的 这样做在接口的建设者。
- 创建一个滑板
- 显示"身份检查"
- 添加"用户限定的运行时的属性"
- 设定的关键路径"层。变换。旋转。z",为的类型
"String"("Number"不会允许浮点值)(可能由于模式5)以及价值"-1.570795"(-π/2)。
不幸的是,它仍然会出现的水平接口的建设者。
但你可以定位的中心,并不需要创建一个自定义类,所以它可能是有用的足够在一些情况。其效果是相同ravinsp的代码。
夫特3:
slider.transform = slider.transform.rotated(by: CGFloat(0.5 * Float.pi))
//使用1.5反转滑块的影子,如果你想
如果你使用自动布局工作:
在您的viewDidLoad中,尝试:
UIView *superView = self.sizeSlider.superview;
[self.sizeSlider removeFromSuperview];
[self.sizeSlider removeConstraints:self.view.constraints];
self.sizeSlider.translatesAutoresizingMaskIntoConstraints = YES;
self.sizeSlider.transform = CGAffineTransformMakeRotation(M_PI_2);
[superView addSubview:self.sizeSlider];
它不限制工作,所以关键是要去除限制为您uislider。 则可能必须通过设置它的帧属性手动调整其大小。
使用一个IBOutlet和setter观察员。 如果希望最大为在底部,通过积极2
分PI@IBOutlet weak var slider: UISlider! {
didSet {
slider.transform = CGAffineTransform(rotationAngle: .pi / -2)
}
}
不隶属于 StackOverflow