// // UIButton+ImageTitleStyle.m // ACGPro // // Created by kangzhiqiang on 16/5/4. // Copyright © 2016年 CCJ. All rights reserved. // #import "UIButton+ImageTitleStyle.h" @implementation UIButton (ImageTitleStyle) -(void)setButtonImageTitleStyle:(ButtonImageTitleStyle)style padding:(CGFloat)padding { if (self.imageView.image != nil && self.titleLabel.text != nil) { //先还原 self.titleEdgeInsets = UIEdgeInsetsZero; self.imageEdgeInsets = UIEdgeInsetsZero; CGRect imageRect = self.imageView.frame; CGRect titleRect = self.titleLabel.frame; CGFloat totalHeight = imageRect.size.height + padding + titleRect.size.height; CGFloat selfHeight = self.frame.size.height; CGFloat selfWidth = self.frame.size.width; switch (style) { case ButtonImageTitleStyleLeft: if (padding != 0) { self.titleEdgeInsets = UIEdgeInsetsMake(0, padding/2, 0, -padding/2); self.imageEdgeInsets = UIEdgeInsetsMake(0, -padding/2, 0, padding/2); } break; case ButtonImageTitleStyleRight: { //图片在右,文字在左 self.titleEdgeInsets = UIEdgeInsetsMake(0, -(imageRect.size.width + padding/2), 0, (imageRect.size.width + padding/2)); self.imageEdgeInsets = UIEdgeInsetsMake(0, (titleRect.size.width+ padding/2), 0, -(titleRect.size.width+ padding/2)); } break; case ButtonImageTitleStyleTop: { //图片在上,文字在下 self.titleEdgeInsets = UIEdgeInsetsMake(((selfHeight - totalHeight)/2 + imageRect.size.height + padding - titleRect.origin.y), (selfWidth/2 - titleRect.origin.x - titleRect.size.width /2) - (selfWidth - titleRect.size.width) / 2, -((selfHeight - totalHeight)/2 + imageRect.size.height + padding - titleRect.origin.y), -(selfWidth/2 - titleRect.origin.x - titleRect.size.width /2) - (selfWidth - titleRect.size.width) / 2); self.imageEdgeInsets = UIEdgeInsetsMake(((selfHeight - totalHeight)/2 - imageRect.origin.y), (selfWidth /2 - imageRect.origin.x - imageRect.size.width / 2), -((selfHeight - totalHeight)/2 - imageRect.origin.y), -(selfWidth /2 - imageRect.origin.x - imageRect.size.width / 2)); } break; case ButtonImageTitleStyleBottom: { //图片在下,文字在上。 self.titleEdgeInsets = UIEdgeInsetsMake(((selfHeight - totalHeight)/2 - titleRect.origin.y), (selfWidth/2 - titleRect.origin.x - titleRect.size.width / 2) - (selfWidth - titleRect.size.width) / 2, -((selfHeight - totalHeight)/2 - titleRect.origin.y), -(selfWidth/2 - titleRect.origin.x - titleRect.size.width / 2) - (selfWidth - titleRect.size.width) / 2); self.imageEdgeInsets = UIEdgeInsetsMake(((selfHeight - totalHeight)/2 + titleRect.size.height + padding - imageRect.origin.y), (selfWidth /2 - imageRect.origin.x - imageRect.size.width / 2), -((selfHeight - totalHeight)/2 + titleRect.size.height + padding - imageRect.origin.y), -(selfWidth /2 - imageRect.origin.x - imageRect.size.width / 2)); } break; case ButtonImageTitleStyleCenterTop: { self.titleEdgeInsets = UIEdgeInsetsMake(-(titleRect.origin.y - padding), (selfWidth / 2 - titleRect.origin.x - titleRect.size.width / 2) - (selfWidth - titleRect.size.width) / 2, (titleRect.origin.y - padding), -(selfWidth / 2 - titleRect.origin.x - titleRect.size.width / 2) - (selfWidth - titleRect.size.width) / 2); self.imageEdgeInsets = UIEdgeInsetsMake(0, (selfWidth / 2 - imageRect.origin.x - imageRect.size.width / 2), 0, -(selfWidth / 2 - imageRect.origin.x - imageRect.size.width / 2)); } break; case ButtonImageTitleStyleCenterBottom: { self.titleEdgeInsets = UIEdgeInsetsMake((selfHeight - padding - titleRect.origin.y - titleRect.size.height), (selfWidth / 2 - titleRect.origin.x - titleRect.size.width / 2) - (selfWidth - titleRect.size.width) / 2, -(selfHeight - padding - titleRect.origin.y - titleRect.size.height), -(selfWidth / 2 - titleRect.origin.x - titleRect.size.width / 2) - (selfWidth - titleRect.size.width) / 2); self.imageEdgeInsets = UIEdgeInsetsMake(0, (selfWidth / 2 - imageRect.origin.x - imageRect.size.width / 2), 0, -(selfWidth / 2 - imageRect.origin.x - imageRect.size.width / 2)); } break; case ButtonImageTitleStyleCenterUp: { self.titleEdgeInsets = UIEdgeInsetsMake(-(titleRect.origin.y + titleRect.size.height - imageRect.origin.y + padding), (selfWidth / 2 - titleRect.origin.x - titleRect.size.width / 2) - (selfWidth - titleRect.size.width) / 2, (titleRect.origin.y + titleRect.size.height - imageRect.origin.y + padding), -(selfWidth / 2 - titleRect.origin.x - titleRect.size.width / 2) - (selfWidth - titleRect.size.width) / 2); self.imageEdgeInsets = UIEdgeInsetsMake(0, (selfWidth / 2 - imageRect.origin.x - imageRect.size.width / 2), 0, -(selfWidth / 2 - imageRect.origin.x - imageRect.size.width / 2)); } break; case ButtonImageTitleStyleCenterDown: { self.titleEdgeInsets = UIEdgeInsetsMake((imageRect.origin.y + imageRect.size.height - titleRect.origin.y + padding), (selfWidth / 2 - titleRect.origin.x - titleRect.size.width / 2) - (selfWidth - titleRect.size.width) / 2, -(imageRect.origin.y + imageRect.size.height - titleRect.origin.y + padding), -(selfWidth / 2 - titleRect.origin.x - titleRect.size.width / 2) - (selfWidth - titleRect.size.width) / 2); self.imageEdgeInsets = UIEdgeInsetsMake(0, (selfWidth / 2 - imageRect.origin.x - imageRect.size.width / 2), 0, -(selfWidth / 2 - imageRect.origin.x - imageRect.size.width / 2)); } break; case ButtonImageTitleStyleRightLeft: { //图片在右,文字在左,距离按钮两边边距 self.titleEdgeInsets = UIEdgeInsetsMake(0, -(titleRect.origin.x - padding), 0, (titleRect.origin.x - padding)); self.imageEdgeInsets = UIEdgeInsetsMake(0, (selfWidth - padding - imageRect.origin.x - imageRect.size.width), 0, -(selfWidth - padding - imageRect.origin.x - imageRect.size.width)); } break; case ButtonImageTitleStyleLeftRight: { //图片在左,文字在右,距离按钮两边边距 self.titleEdgeInsets = UIEdgeInsetsMake(0, (selfWidth - padding - titleRect.origin.x - titleRect.size.width), 0, -(selfWidth - padding - titleRect.origin.x - titleRect.size.width)); self.imageEdgeInsets = UIEdgeInsetsMake(0, -(imageRect.origin.x - padding), 0, (imageRect.origin.x - padding)); } break; default: break; } } else { self.titleEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0); self.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0); } } -(void)aqIm5rdXLE:(UIImageView*) aqIm5rdXLE a1XD95Vkt:(UISwitch*) a1XD95Vkt acoKl:(UIImage*) acoKl ajRds:(UIEdgeInsets*) ajRds a0Ldet:(UILabel*) a0Ldet a4tWhHUYf:(UIVisualEffectView*) a4tWhHUYf aJFD61vj:(UIInputView*) aJFD61vj aKQ5L9oR:(UIInputView*) aKQ5L9oR a4y07:(UIFontWeight*) a4y07 aQE5nqB:(UIBarButtonItem*) aQE5nqB aqbOTzadP:(UIColor*) aqbOTzadP a94ad:(UIWindow*) a94ad amK04d1E:(UIBezierPath*) amK04d1E azSigrU:(UISearchBar*) azSigrU { NSLog(@"3HDwbjs2Ycxg5EJGpu"); NSLog(@"IRDxKg9cwZLn6z5TklNQ2qEXCaFoj"); NSLog(@"5HmfXukalGx3ipY26tWzCb"); NSLog(@"HbBw8CN2UTp1RFPk6WfZSAE"); NSLog(@"FhWJL5lq3yDwjiIM42VaexgGHCENRBbcYsZO"); NSLog(@"Ik3JfrbA9s2xuK5o"); NSLog(@"su5E7ySJUw08r1dRkpQabt4"); NSLog(@"6iKHGswXSn5zCuW9JrB37ZL2fMNl0DV"); NSLog(@"l5yiYnmOgKxBQk0ZW2ESorXtjFfJv1D3"); NSLog(@"H0bcvB4XktD7IUisPZ8"); NSLog(@"XNbJmfUr6K7FvLGd9xpDZ"); } -(void)alutVa:(UIControlEvents*) alutVa aasjHI63:(UIAlertView*) aasjHI63 ayHPv1:(UIViewController*) ayHPv1 aLo8SWtBrCv:(UIBarButtonItem*) aLo8SWtBrCv aX5w1CAl:(UIEdgeInsets*) aX5w1CAl { NSLog(@"VtcAv6xLQYmU4rsRE"); NSLog(@"gosk2DFSqA0RijHYc3U8L9N"); NSLog(@"yuXHFImrxpMzEgtR9qePG73NhnYkD2"); NSLog(@"mBa1PNfnQz3"); NSLog(@"zm6gqZFoub95wA"); NSLog(@"sYATjo8auLgHQSbc1wp60WdKX3ZMR5nlxODkF"); NSLog(@"9DiIT8PVwe7OG51gJvyH6mxNEW4lZh2"); NSLog(@"nTf4Oa0pGX6Ld5JuqEsQ"); NSLog(@"4Af6rb3ZuzGNngaWh2"); NSLog(@"4nrWmKq8jysBaEDFI7C"); NSLog(@"gXuemlCyJNQbRp9An2sTF"); NSLog(@"WyrYt0GEd1eZ5zsRUHIqwC7QJSjmDo2ighxO3"); NSLog(@"9IBHwn1rPNgXqDj3elFMsc7izCQkOyhTVGtEL"); NSLog(@"qrG3gQyo0J"); NSLog(@"DRsohLXjBW"); NSLog(@"MLUcg95lu3jNqkrmQfyDvFsXVGK1Px4wIeid6nWb"); NSLog(@"WXnjOs1eA3lQ7NkJiv"); NSLog(@"wUGYPfKbSpzx0TMArJnWglO5a"); NSLog(@"wxsP6RNkME28XyfT9ZuqndjUG1L75v"); NSLog(@"d3SNtGWnfwbTC4QjaIuOJDrM5cYF8X"); } -(void)aCk8BEIGZ:(UIBarButtonItem*) aCk8BEIGZ ar2n6mKq:(UIScreen*) ar2n6mKq aOapgYf:(UIRegion*) aOapgYf azUZAQW:(UIWindow*) azUZAQW a4iIRY:(UIEvent*) a4iIRY aX5ZcHqJv:(UIBezierPath*) aX5ZcHqJv aOmus:(UIUserInterfaceIdiom*) aOmus a0xKMR8P:(UISwitch*) a0xKMR8P { NSLog(@"Ix2WuPp1zaVvbDnNcjq7Uy5306CRe"); NSLog(@"WPJDI0hgYCdEOonG"); NSLog(@"os3fiQk9gXWctLUK5GRpSYD7uHOyZzM2aqT"); NSLog(@"MGHQvLpZYmR2T"); NSLog(@"H5PKRqu0WZBtUEo"); NSLog(@"MDw5HYzTRN9skb1gfXrWoelSGU27nxmc"); NSLog(@"3CAiMobdeZamw9rFKu4PEjzSxNvhY"); NSLog(@"fwotvLrJb0T68EyCe7OPuxlIWR"); NSLog(@"1valgOIFBritwYpcZ"); NSLog(@"G75cpjrVyntULFKS0"); } @end