
如您所见,使用每个UIbutton的setFrame方法将按钮完美地放置在平面图上.但是,当我将iPad旋转到纵向时,会发生以下情况:
按钮显然仍然具有相同的原点,但它与图像的重新定位无关.
平面图图像具有以下设置的支柱和d簧:
并将其内容模式设置为Aspect Fit.
我的问题是
如何动态重新定位每个UIbutton,使其具有相同的相对位置.我想我必须在{dID / should} autorotatetoInterfaceOrIEntation委托方法中处理这个问题.
应该注意的是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);} 先感谢您!
解决方法 我发现布局子视图的最佳方法是 – (voID)layoutSubvIEws方法.您必须继承UIImageVIEw并重写该方法.每当您的帧更改时,此方法将自动被调用,并且在第一次显示视图时也会调用此方法.
如果将所有布局代码放在此方法中,它会阻止布局碎片和重复,将视图代码保留在视图中,并且大多数情况下默认情况下都可以正常工作.
总结以上是内存溢出为你收集整理的objective-c – 如何在旋转时动态地将UIButton重新定位为UIImageView的子视图全部内容,希望文章能够帮你解决objective-c – 如何在旋转时动态地将UIButton重新定位为UIImageView的子视图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)