[英]How to put UISlider vertical?
我想垂直放置UISlider
。 我不知道這個,所以請幫助我。
你必須這樣做。 假設您的UISlider綁定到名為slider
的變量,請在ViewController.m的viewDidLoad方法中添加此代碼:
- (void)viewDidLoad {
[super viewDidLoad];
CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI * 0.5);
slider.transform = trans;
}
如果您需要更多幫助,請告訴我..
從Xcode 4.2開始,您可以在Interface Builder 中執行相同的操作。
不幸的是,它仍然在Interface Builder中顯示為水平。
但是您可以定位中心而不需要創建自定義類,因此在某些情況下它可能非常有用。 效果與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的約束。 您可能必須通過設置其frame屬性手動調整大小。
使用IBOutlet和setter觀察者。 如果您希望最大值位於底部,則將pi除以正2
@IBOutlet weak var slider: UISlider! {
didSet {
slider.transform = CGAffineTransform(rotationAngle: .pi / -2)
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.