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でsort ofと同じことができます。
残念ながら、それは依然として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の制約を削除することです。フレームプロパティを設定して、手動でサイズを変更する必要がある場合があります。
IBOutletおよびセッターオブザーバーの使用。最大値を一番下にしたい場合は、piを正の2で割ります。
@IBOutlet weak var slider: UISlider! {
didSet {
slider.transform = CGAffineTransform(rotationAngle: .pi / -2)
}
}