首页 > 代码库 > UIButton中的**EdgeInsets是做什么用的?
UIButton中的**EdgeInsets是做什么用的?
UIButton中的**EdgeInsets是做什么用的?
UIEdgeInsetsMake
Creates an edge inset for a button or view.
An inset is a margin around the drawing rectangle where each side (left, right, top, and bottom) can have a different value.
给一个button或者view创建一个嵌入的边缘.
inset是一个矩形view页边空白,每一边都可以设定一个不同的值.
图片素材: 1@2x.png
- (void)viewDidLoad { [super viewDidLoad]; UIButton *normalButton = nil; UIButton *edgeButton = nil; // normalButton { // 初始化按钮 normalButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; normalButton.backgroundColor = [UIColor blackColor]; // 按钮图片 [normalButton setImage:[UIImage imageNamed:@"1"] forState:UIControlStateNormal]; } // EdgeButton { // 初始化按钮 edgeButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 210, 100, 100)]; edgeButton.backgroundColor = [UIColor blackColor]; // 按钮图片 [edgeButton setImage:[UIImage imageNamed:@"1"] forState:UIControlStateNormal]; // 设置图片间距 edgeButton.imageEdgeInsets = UIEdgeInsetsMake(10, 10, 10, 10); } [self.view addSubview:normalButton]; [self.view addSubview:edgeButton]; }
以下是模拟器显示结果:
从结果中可以看到,设置了图片的imageEdgeInsets后,图片显示被缩放了哦.
再来测试文本的titleEdgeInsets
- (void)viewDidLoad { [super viewDidLoad]; UIButton *normalButton = nil; UIButton *edgeButton = nil; // normalButton { // 初始化按钮 normalButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; normalButton.backgroundColor = [UIColor blackColor]; [normalButton setTitle:@"Y.X." forState:UIControlStateNormal]; [normalButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; } // EdgeButton { // 初始化按钮 edgeButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 210, 100, 100)]; edgeButton.backgroundColor = [UIColor blackColor]; [edgeButton setTitle:@"Y.X." forState:UIControlStateNormal]; [edgeButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; edgeButton.titleEdgeInsets = UIEdgeInsetsMake(60, 60, 0, 0); } [self.view addSubview:normalButton]; [self.view addSubview:edgeButton]; }
以下是运行结果:
文本并没有缩放的说,再试试这么设置:
UIButton还有一个属性叫contentEdgeInsets.
Use this property to resize and reposition the effective drawing rectangle for the button content. The content comprises the button image and button title.
实际上,这个contentEdgeInsets是用来同时设置imageEdgeInsets与titleEdgeInsets的,没什么特别的,就不举例子了:)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。