私は、インテリジェントハウスのプロトタイプでさまざまなものを制御できるiPadアプリに取り組んでいます。たとえば、ライトのオンとオフを切り替えることができます。このためUIImageViewに、家の間取り図を示すを作成し、UIButtons切り替え可能な各ランプのサブビューとして追加しました。

setFrameご覧のとおり、ボタンはそれぞれの方法を使用して間取り図に完全に配置されていますUIButton。ただし、iPadを縦向きに回転させると、次のようになります。

ボタンの原点は明らかに同じですが、画像の再配置とは関係ありません。
平面図の画像には、支柱とばねの次の設定があります。

コンテンツモードがに設定されていAspect Fitます。
私の質問は
UIButton同じ相対位置になるように、それぞれを動的に再配置するにはどうすればよいですか。{did/should}AutorotateToInterfaceOrientationこれはdelegateメソッドで処理する必要があると思います。
はズーム可能であり、これを処理するために、デリゲートメソッドを次のようUIImageViewに実装していることに注意してください。scrollViewDidZoom
for (UIView *button in _floorPlanImage.subviews) {
CGRect oldFrame = button.frame;
[button.layer setAnchorPoint:CGPointMake(0.5, 1)];
button.frame = oldFrame;
button.transform = CGAffineTransformMakeScale(1.0/scrollView.zoomScale, 1.0/scrollView.zoomScale);
}
前もって感謝します!