如何把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来反转滑块的阴影