1.设置custom长按时不会变成灰色
2.按钮的background image和image
如果设置按钮的文字为[btn setTitle:@"按钮" forState:UIControlStateNormal];
使用background image不会覆盖文字,使用image会覆盖文字
4.loginBtn.layer.cornerRadius = 10; // 设置圆角
5.btnImage.layer.masksToBounds = YES; 设置button内部图片的形状跟随button的形状变化:原理:因为控件之所以能显示文字图片是因为其内部有个layer,主layer在最下面,主layer上还有子层,当设置loginBtn.layer.cornerRadius = 10时,主层就有了圆角,但子层会盖在主层上面,造成显示在我们面前的控件没有圆角,当设置btnImage.layer.masksToBounds = YES后,就表示子层超出主层的部分切掉,也就是子层的形状和主层一样。
6.btn.imageView.contentMode = UIViewContentModeCenter; 设置图片居中
7.btn.imageView.clipsToBounds = NO; // 同时设置6、7旋转button时其内部的图片不会变形
8.[btn setAdjustsImageWhenHighlighted:NO];// 设置按钮高亮状态时不显示灰色
9.rightBtn.imageEdgeInsets = UIEdgeInsetsMake(0, -30, 0, 0); button内部的图片向左移动30
原文:http://www.cnblogs.com/darren-chen/p/4966734.html