获得了一个由多个部分组成的地图:
每个部分都是一个带有图像的UIButton
。我放置了所有东西以组成地图,然后看起来一切都很好。我遇到的问题是要针对不同的屏幕尺寸调整View
的大小。尝试使用“自动调整大小”和“约束”,但无法使其看起来正确以最小化和最大化它。零件应始终一起生病,并根据屏幕尺寸上下缩放。我正在通过调整xib的尺寸直接在Interface Builder中测试行为。
有效的方法是在autoresizingMask中为每个UIButton
设置所有箭头,并最大化视图。但是将其最小化会使地图失真。
不幸的是,这是我第一次在Xcode中使用Interface Builder。在这里您可以找到source files。谢谢!
编辑: 只需在autoresizingMask中设置宽度和高度的箭头,就可以缩小尺寸而不会变形。升级会将零件分开。如何同时支持适当的上/下缩放?
编辑1:
将每个UIButton
替换为UIImage
,它们在Interface Builder中可以正确调整大小!参见repo here。不幸的是,在Simualtor设备上,“自动调整大小”有所不同,并且地图部件不再粘在一起。将Main.storyboard中的UIView的大小完全设置为xib的大小,自动调整大小功能就可以完美地工作(在多个设备上测试)。但是后来在“真实”项目中,我无法控制父级的视图尺寸。
用this line of code播放了一点点,似乎是对“阻止”自动调整大小起作用。如何避免呢?提前致谢。我想我可能将自动调整大小与AspectFit混在一起了,这似乎没有效果。
答案 0 :(得分:0)
我想如果所有的Bundesländer图片都具有相同的大小会容易得多。在同一个视图中,将它们全部放在另一个之上。使所有按钮的所有侧面都为零填充。子类化UIButton,以检查touch事件是否在非透明像素上。搜索“不规则按钮ios”以了解有关它的更多信息。
我可以使用这些图像来实现此目的,这些图像具有相同的大小,并添加了边框以演示大小
此约束
最重要的约束可能是MapWrapper上的纵横比约束,该视图包含所有按钮。
使用Ole Begemann的OBShapedButton
一些注意事项: