我不明白为什么如果为非零宽度元素返回0,则对所有元素实现width函数。以下为我返回0。
Shoes.app do
p = para "My width is: "
para p.width
end
为什么? (app.width不返回0)
答案 0 :(得分:0)
问题是para对象的大小是在绘制时动态确定的。在创建第二个para时,实际上还没有布局,因此尚未设置宽度。您可以看到在绘制后访问宽度按预期工作:
Shoes.app do
p = para "My width is: "
@para = para p.width
button 'Get Width' do
@para.text = p.width
end
end
解决这个问题的方法是使用start方法,该方法在第一次绘制包含槽时调用:
Shoes.app do
p = para "My width is: "
width = para p.width
start do
width.text = p.width
end
end