我想要把 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)
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top