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个约束:
当然,这一行代码是:
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