我试过是这样的: -的UIButton占用自己的大小自动布局
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[self.view addSubview:btn];
btn.translatesAutoresizingMaskIntoConstraints = NO;
[btn addTarget:self action:@selector(bringUpNextViewController:)
forControlEvents:UIControlEventTouchUpInside];
btn.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:14];
[btn setTitle:@"8" forState:UIControlStateNormal];
[self.view layoutIfNeeded];
NSLog(@"button size : %@", NSStringFromCGSize(btn.frame.size));
作为输出,我得到这个:
button size : {30, 29}
然后我给setTitle
字符串作为一无所获。按钮宽度仍然是30.
那么为什么总是这种情况?
我也试过给high compression resistance priority
和high content hugging priority
。不缩水到没有。
问题在于,我想简单地根据其内容减少按钮的宽度,而不给出任何固定的宽度。
我可以采取文本的宽度,并给按钮的宽度,但我不应该需要这样做,如果按钮占用的内容宽度。
编辑:
它不是这是造成宽度插图要么是30
。鬼的价值。
啊,好吧,我的想法是正确的:-)很好的答案。 – Fogmeister
嗯,好吧。听起来现在好了。但正如我在问题中提到的那样,“问题也是我想要简单地根据其内容减少按钮的宽度,而不给定任何固定宽度。”而对于默认内容大小,“30”似乎是一个点太大了,我只是不想让按钮出现。那会更好。 – esh
@ BlackFlam3 Apple HIG指出按钮的最小触摸面积应为44x44点大小。 30对于一个按钮来说已经太小了,以至于无法轻松点击。进一步缩小其规模并不合理。 – Fogmeister