如何把UISlider垂直放置?
你必须做这个programaticaly。假设你UISlider被绑定到一个叫slider
变量,在您的viewDidLoad方法添加此代码ViewController.m:
- (void)viewDidLoad {
[super viewDidLoad];
CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI * 0.5);
slider.transform = trans;
}
让我知道如果你需要有这方面的更多帮助..
这将minimumValue结束在顶部。使用M_PI * -0.5将minimumValue结束放置在底部。 – 2010-10-28 18:39:04
有用的笔记。这是最常见的情况。感谢chrispix。 – ravinsp 2010-11-01 04:36:57
您还可以使用-M_PI_2 – 2013-07-10 18:33:23
作为的Xcode 4.2,你可以在Interface Builder中做排序。
- 创建一个滑块
- 显示“身份检查”
- 添加“用户自定义运行属性”
- 设置关键路径“layer.transform.rotation.z”,类型为
“字符串”(“数字”将不允许使用浮点值)(自Xcode 5以来可能)以及值为“-1.570795”(-π/ 2)。
不幸的是,它在界面构建器中仍然显示为水平。
但是,您可以定位中心,不需要创建自定义类,因此在某些情况下它可能会有用。效果与ravinsp的代码相同。
其实你可以用逗号(而不是点)将浮点数放入数字。 – user500 2014-02-20 06:52:36
比接受的,基于代码的答案更清洁,恕我直言。 – user1021430 2015-11-16 22:03:45
如果您有自动布局工作:
在您的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。 您可能需要通过设置其框架属性来手动调整它的大小。
斯威夫特3:
slider.transform = slider.transform.rotated(by: CGFloat(0.5 * Float.pi))
//使用1.5如果你想
这种反转滑块的影子是这个问题的重复昨天问:http://*.com/questions/ 2369926 /如何使我垂直uislider – 2010-03-04 11:59:33