在鞋子中,如何将堆栈对接到窗口底部?

时间:2009-01-28 21:53:19

标签: ruby shoes

在鞋子中,我如何将堆栈停靠在窗口的底部?

例如,我有以下代码段。

Shoe.app do 
  stack :height => 100 do 
    background red
  end
  stack :height => 100 do 
    background blue
  end
end

我希望蓝色堆栈停靠在窗口的底部,每当我调整窗口大小时都会停留在那里。

1 个答案:

答案 0 :(得分:3)

使用邮件列表中的示例:

Shoes.app do
  @s0 = stack do
    background red
    100.times do
      para "yay"
    end
  end
  @s = stack do
    style(:attach => Window, :top => height - 100)
    background lightblue
    para app.width
    para app.height
  end

  @height = 0
  every(1) do
    unless app.height == @height
      @s.clear do
        background lightblue
        style(:top => height-100)
        para app.width
        para app.height
      end
    end
  end
end

嗨Sam!

由于我遇到的问题:scroll =>真实和环境 高度(通常是鞋子设计方式的坏主意),我愿意 以这种方式做类似的事情:

http://gist.github.com/54431

这样,你会发现通过附加到窗口滚动 整个应用程序应该工作得更好。我尝试在OSX中运行它 整个粘性的fandango完全失败了,所以我从那以后 启动到linux(我假设你也在使用它)。在linux中, 鼠标滚轮也可以正常工作。

我将样式保留在它自己的方法调用中,而不是堆栈(样式) 这样做的方式,因为由于某种原因你无法将堆栈保存到 如果您这样做,则为实例变量。

此外,您不需要保存应用程序对象,因为自己(几乎) 总是Shoes.app,如果不是,有一个名为'app'的方法 得到它。

我希望这会有所帮助。

http://article.gmane.org/gmane.comp.lib.shoes/2997