如何把UISlider垂直?
我想垂直放置UISlider
。 我不知道这个,所以请帮助我。
你必须做这个programaticaly。 假设你的UISlider被绑定到一个名为slider
的variables,在ViewController.m的viewDidLoad方法中添加下面的代码:
- (void)viewDidLoad { [super viewDidLoad]; CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI * 0.5); slider.transform = trans; }
让我知道如果你需要更多的帮助
从Xcode 4.2开始,你可以在Interface Builder 中做同样的事情。
- 创build一个滑块
- 显示“身份检查员”
- 添加“用户定义的运行时属性”
- 将关键path设置为“layer.transform.rotation.z”,types为
“String”(“数”将不允许浮点值)(可能从Xcode 5开始),值为“-1.570795”(-π/ 2)。
不幸的是,它在界面生成器中仍然会显示为水平。
但是,您可以定位中心,不需要创build自定义类,所以在某些情况下可能会有用。 效果和ravinsp的代码一样。
如果你使用自动布局:
在你的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约束。 您可能必须通过设置其框架属性来手动调整它的大小。
Swift 3:
slider.transform = slider.transform.rotated(by: CGFloat(0.5 * Float.pi))
//如果你想使用1.5来反转滑块的阴影