iOS

UIButton自定义图片文字位置

2016-11-24  本文已影响14人  cocoawork丶
typedef enum {
    CustomButtonTypeImageLeft = 0,
    CustomButtonTypeImageRight,
    CustomButtonTypeImageTop,
    CustomButtonTypeImageBottom
}CustomButtonType;

- (void)setType:(CustomButtonType)type {
       UIImage *image = self.imageView.image;
       CGSize size1 = [self.titleLabel.text sizeWithFont:[UIFont systemFontOfSize:18]constrainedToSize:CGSizeMake(MAXFLOAT,self.titleLabel.frame.size.height)];
switch (type) {
        case CustomButtonTypeImageLeft:{
            break;
        }
        case CustomButtonTypeImageRight:{
            self.titleEdgeInsets = UIEdgeInsetsMake(0, -image.size.width, 0, image.size.width);
            self.imageEdgeInsets = UIEdgeInsetsMake(0, size1.width, 0, -size1.width);
            break;
        }
        case CustomButtonTypeImageTop:{
            self.titleEdgeInsets = UIEdgeInsetsMake(0.5*image.size.height, -0.5*image.size.width, -0.5*image.size.height, 0.5*image.size.width);
            self.imageEdgeInsets = UIEdgeInsetsMake(-0.5*size1.height, 0.5*size1.width, 0.5*size1.height, -0.5*size1.width);
            break;
        }
        case CustomButtonTypeImageBottom:{
            self.titleEdgeInsets = UIEdgeInsetsMake(-0.5*image.size.height, -0.5*image.size.width, 0.5*image.size.height, 0.5*image.size.width);
            self.imageEdgeInsets = UIEdgeInsetsMake(0.5*size1.height, 0.5*size1.width, -0.5*size1.height, -0.5*size1.width);
            break;
        }
        default:
            break;
     }
}
上一篇 下一篇

猜你喜欢

热点阅读