Swiftで垂直スライダーを作成する方法を知りたいと思っていました。
.transform
を使用して回転を追加しようとしましたが、例外が返され、画面全体が回転しました。垂直スライダーだけが必要です。
誰かがスライダーをすばやく回転させる方法を知っているかどうか疑問に思っていましたか?
ありがとう
あなたが話していると仮定するとISlider:
あなたは正しい方向を見ていましたが、おそらく間違ったアイテムにAffineTransformationを適用しました... ISlider.transformを使用する必要があります向きを変えます。ここに作業コードがあります(私はInterfaceBuilderを使用してUISliderを追加しました):
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var verticalSlider: UISlider!{
didSet{
verticalSlider.transform = CGAffineTransform(rotationAngle: CGFloat(-M_PI_2))
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
OOPを使用します。この回転をUIViewの拡張機能として定義すると、UIViewだけでなく、UIViewから継承するすべてのサブクラスも回転できます。もちろん、これにはUISliderが含まれますが、UILabel、UIButton、約200も含まれますか?他のサブクラス...ここを参照 IViewのサブクラスのリスト
extension UIView
{
func makeVertical()
{
transform = CGAffineTransform(rotationAngle: -CGFloat.pi / 2)
}
}
// usage example:
sldBoilerTemperature.makeVertical()
継承に注意することは良いことで、多くの作業を節約します。多くのSwift作成する拡張機能の場合、この例のように、クラス階層内で上に移動しようとするのは良い考えかもしれません。