利用UIImageView+UILabel+UIButton做的一个小程序:
[UIScreen mainScreen].bounds.size.width * 0.5
用这种比例的方式来布局控件,就可以解决适配的问题
一般来说,先固定一个按钮的比例位置(也可以是绝对位置),然后其他的控件相对于这个控件来布局即可
点击下面被选按钮,会把文字传到答案选项框里面,且被选按钮文字隐藏,如果答案错了,答案选项框字体为红色。
CGRectMake(0, (ScreenHeight -ScreenWidth)*0.5,ScreenWidth,ScreenWidth);然后这是UIButton的alpha为0.5,然后把ImageView加到self.view的最上层。(
[self.viewbringSubviewToFront:self.bigImage];
)ScreenWidth和ScreenHeight是屏幕宽高,我自定义过了。为什么要这样设置frame? 不要问为什么,就问你这样设置出来效果好看不?
当UIButton的alpha为0.5时候,还原当前ImageView原来的frame(可以临时保存他原来的frame)。然后设置UIButton的alpha为0.
除了这种方法之外,也可以用UITapGestureRecognizer来实现。这里就不赘述,可以自己改变来试试。
PS:无论用哪种方法,当ImageView还原到原来位置的时候,他处于视图层的位置和原来不一样了。这个Demo看不出来效果,如果你要做九宫格的图片或者多张图片,也是用这种方法实现放大效果的话,那么会出现缩小的图片也出现在放大图片的后面,而且还能点击。解决办法:可以先遍历self.view的子视图,仔细观察每个视图的frame的位置,你会发现因为他的视图层关系变化而导致的。可以直接把UIButton(遮罩)再加到self.view上面一次,强行改变他的视图层关系,就可以了。
个人觉得以上几点比较重要,其余的话,可以自己简单理解下。
此Demo仅供参考,小白写的不太好,忘见谅。