iOS中具有自动布局的垂直UISlider

根据我的iPad应用程序要求,我必须垂直显示UISlider。
我使用的是iOS7编译器,部署目标是iOS6。
在故事板中,我添加了宽度为600像素的水平UISlider。 我在视图控制器中创建了IBOutlet。 我没有设置任何自动布局限制。 我使用下面的代码来旋转并使其垂直。

self.slider.transform = CGAffineTransformMakeRotation(M_PI_2);

在旋转之后和之前,我正在打印正确的滑块的帧大小。 但滑块看起来不正确。 它只是在中心只显示旋钮。 我如何旋转UISlider?


在这里输入图像描述


我以这种方式工作:

viewDidLoad:我添加了

[self.slider removeConstraints:self.slider.constraints];
[self.slider setTranslatesAutoresizingMaskIntoConstraints:YES];

所以在旋转滑块之前调用它

self.slider.transform=CGAffineTransformRotate(self.slider.transform,270.0/180*M_PI);

并且不需要删除并重新添加到超级视图。


我有一个垂直滑块可以处理iOS 8和Xcode 6,故事板和一行代码中只有3个约束。 以下是界面的裁剪屏幕截图:

在这里输入图像描述

在垂直滑块和它旁边的UIImageView之间有3个约束:

  • vSlider.Center Y = Image View.Center Y
  • vSlider.Width =图片View.Height
  • vSlider.Center X = Image View.Trailing + 16
  • 当然,这一行代码是:

    self.vSlider.transform = CGAffineTransformMakeRotation(-M_PI_2);
    

    在Xcode 6的故事板中设置这些约束条件很容易,但我认为应该很简单,在代码中编写这些约束条件以支持iOS 7或iOS 6。


    在您的ViewController上取消选中Auto-Layout,SDK 7.0下没有其他选项可以使其垂直工作:(

    链接地址: http://www.djcxy.com/p/90335.html

    上一篇: Vertical UISlider in iOS with autolayout

    下一篇: No longer able to hide keyboard during viewWillDisappear in iOS7