UIButton中UIImage的使用
UIButton *closeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
closeBtn.backgroundColor = [UIColor clearColor];
closeBtn.exclusiveTouch = YES;
UIImage *img = [UIImage imageNamed:@"btn_close"];
[closeBtn <span style="color:#ff0000;">setImage</span>:img forState:UIControlStateNormal];
closeBtn.frame = CGRectMake(0, 0, 200, 400);
[closeBtn addTarget:self action:@selector(closeButtonClicked) forControlEvents:UIControlEventTouchUpInside];
closeBtn.<span style="color:#ff0000;">contentHorizontalAlignment</span> = UIControlContentHorizontalAlignmentCenter;
closeBtn.<span style="color:#ff0000;">imageEdgeInsets</span> = UIEdgeInsetsMake( -(closeBtn.bounds.size.height-img.size.height), 0, 0, 0);
其中
contentHorizontalAlignment
默认是
UIControlContentHorizontalAlignmentCenter
该属性设置UIImage在UIButton正中间
附注:
UIEdgeInsets UIEdgeInsetsMake (
CGFloat top,
CGFloat left,
CGFloat bottom,
CGFloat right
);
其中的数值应为两倍,例如
<pre name="code" class="objc">closeBtn.contentHorizontalAlignment = <span style="color:#ff0000;">UIControlContentHorizontalAlignmentCenter</span>;
UIEdgeInsetsMake( <span style="color:#ff0000;">-(closeBtn.bounds.size.height-img.size.height)</span>, 0, 0, 0);
将设置UIImage的顶部与UIButton的顶部重叠。