手写UI是最早进行UI界面布局的方法,优点是灵活自由,缺点是使代码看起来比较长。平时学习的时候可以多尝试手写ui,这样会更深入熟悉控件。storyboard开发效率相对比较高。实际开发中看情况而定!!
下面用这两种方式分别实现图片移动和缩放。
功能描述:
1. 界面布局
2.点击相应的按钮,对显示的图片移动、缩放。
效果如下:
掌握点:
一:熟悉代码的描述UIButton属性
1.UIButton状态
UIControlStateDisabled //禁用状态
UIControlStateSelected //选中状态
UIControlStateApplication //
UIControlStateReserved //保留状态
2.Uibutton类型:
UIButtonTypeCustom //自定义类型
UIButtonTypeRoundedRect //圆角类型
UIButtonTypeDetailDisclosure //细节展示按钮
UIButtonTypeInfoLight //浅色背景的信息按钮
UIButtonTypeInfoDark //暗色背景的信息按钮
UIButtonTypeContactAdd // 添加按钮
3.UIButton常用属性
给按钮设置文字时,苹果文档说明,,不能使用label对象设置文字的颜色或者阴影颜色,相反必须使用setTitleColor:forState: andsetTitleShadowColor:forState:
//设置对应状态的标题内容default is nil. title is assumed to be single line
– (void)setTitle:(NSString *)title forState:(UIControlState)state;
//设置对应状态的标题颜色
– (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
//设置对应状态的标题阴影颜色
– (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state;
//设置对应状态的按钮的图片
– (void)setImage:(UIImage *)image forState:(UIControlState)state;
//设置对应状态的按钮背景图片
– (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;
添加事件
– (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
这些事件都是基于触摸、基于值、基于编辑。有如下事件会触发。
在点击按钮是按钮是凹下去,然后弹起才触发起事件,按钮的状态有:
4.adjustsImageWhenDisabled
当按钮禁用的情况下,图像的颜色会被画深一点,默认为YES。
5.adjustsImageWhenHighlighted
当按钮高亮的情况下,图像的颜色会被画深一点,默认为YES。
6.showsTouchWhenHighlighted
button.showsTouchWhenHighlighted=YES;点击时的闪光效果会被前景图片遮住中间部分;
6.contentEdgeInsets
设置按钮的内部内容(包含按钮图片和标题)离按钮边缘上下左右的距离。
7.按钮实例
1.有些时候我们想让UIButton的title居左对齐,我们设置btn.textLabel.textAlignment = UITextAlignmentLeft
是没有作用的,我们需要设置
btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;
但是问题又出来,此时文字会紧贴到左边框,我们可以设置
btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);
使文字距离左边框保持10个像素的距离。
对应的storyboard
二:frame,bounds,center
缘是浪漫的相遇,瞬间让你我的心化为永恒!