UISlider
縦に入れたい。私はこれについて何も知らないので、これについて私を助けてください。
25617 次
5 に答える
105
これをプログラムで行う必要があります。UISlider が という変数にバインドされていると仮定してslider
、ViewController.m の viewDidLoad メソッドに次のコードを追加します。
- (void)viewDidLoad {
[super viewDidLoad];
CGAffineTransform trans = CGAffineTransformMakeRotation(M_PI * 0.5);
slider.transform = trans;
}
これについてさらに助けが必要な場合はお知らせください..
于 2010-03-04T05:38:32.190 に答える
30
Xcode 4.2以降、InterfaceBuilderでも同じことができます。
- スライダーを作成する
- 「IDインスペクター」を表示する
- 「ユーザー定義のランタイム属性」を追加します
- キーパスを「layer.transform.rotation.z」に設定します。タイプは次のとおりです。
"弦" ("番号"浮動小数点値は許可されません)(Xcode 5以降で可能)および「-1.570795」(-π/ 2)の値。
残念ながら、InterfaceBuilderでは水平として表示されます。
ただし、中心を配置することができ、カスタムクラスを作成する必要がないため、場合によっては十分に役立つことがあります。効果はravinspのコードと同じです。
于 2012-06-29T12:32:02.410 に答える
4
自動レイアウトを使用する場合:
あなたの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 の制約を削除するのがコツです。フレーム プロパティを設定して、手動でサイズを変更する必要がある場合があります。
于 2014-03-06T07:07:34.827 に答える
0
IBOutlet とセッター オブザーバーの使用。最大値を一番下にしたい場合は、pi を正の 2 で割ります。
@IBOutlet weak var slider: UISlider! {
didSet {
slider.transform = CGAffineTransform(rotationAngle: .pi / -2)
}
}
于 2018-06-21T00:06:02.623 に答える