它将在iOS中我可以将按钮的帧大小设置为
btn1.frame = CGRectMake(20.5, 113.5, 92.5, 93);
btn2.frame = CGRectMake(113.0, 113.5, 186, 93);
十进制值是设置还是舍入?
对我来说,在4英寸模拟器显示器中,按钮正常,两者之间没有任何间隙。 但在3.5英寸模拟器显示它两个按钮之间的差距。为什么呢?
答案 0 :(得分:1)
CGRect
包含CGPoint
和CGSize
,这些CGFloat
和float
均来自float
,CGRect
来自cordinates
。
它可以为所有round
{{1}}保留{{1}}值,而不会{{1}}
答案 1 :(得分:0)
您需要通过在十进制数字末尾说明f
来指定数字是否具有小数值。
这表示该数字有小数部分。
而且,对于您的代码,这应该有效:
btn1.frame = CGRectMake(20.5f, 113.5f, 92.5f, 93);
btn2.frame = CGRectMake(113.0f, 113.5f, 186, 93);
答案 2 :(得分:0)
是的,你可以给按钮的框架赋予浮动值。
button.frame = CGRectMake(20.5, 113.5, 92.5, 93.0);
并使用CGRectIntegral
将任何十进制值转换为它们的整数等值。
在为按钮分配帧后,只需写下这个 -
button1.frame = CGRectIntegral(button1.frame);
button2.frame = CGRectIntegral(button2.frame);
您可以在NSLog
button
帧之前和之后看到效果
例如: -
button.frame = CGRectMake(20.5, 113.5, 92.5, 93.0);
NSLog(@"Before - %@",NSStringFromCGRect(button.frame));
button.frame = CGRectIntegral(button.frame);
NSLog(@"After - %@",NSStringFromCGRect(button.frame));
有关详细信息,请参阅此内容 - Apple doc on CGRectIntegral和Stackoverflow answer