2

回転行列を次のように変更して、スーパークラスのプロパティ変換を介して UISlider を回転させる必要があります。

self.slider.transform = CGAffineTransformMakeRotation(45);

UIView のドキュメントには、次のような警告が表示されます。

警告 このプロパティが恒等変換でない場合、フレーム プロパティの値は未定義であるため、無視する必要があります。

それで、問題は、フレームの四角形を台無しにせずに標準の UIKit 要素をどのように回転させることができるかということです。(未定義とは、回転したオブジェクト全体を含めるのに十分なだけ拡大されているだけでなく、完全にめちゃくちゃになっていることを意味します)

4

1 に答える 1

0

基本的に、ビューに変換を設定するときは、bound プロパティと center プロパティを使用してサイズと位置を設定する必要があります。ビューにフレームを設定すると、UIKit は実際にビューに境界/中心/変換を設定します。

したがって、変換を設定しなくても、このようにフレームを設定できます。

self.slider.frame = CGRectMake(10, 20, 300, 50);

変換を使用する場合は、次のようにする必要があります。

self.slider.transform = CGAffineTransformMakeRotation(45);
self.slider.bounds = CGRectMake(0, 0, 300, 50);
self.slider.center = CGRectMake(10, 20, 300, 50);
于 2014-07-26T06:53:27.433 に答える