2

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

例如,我有以下代码段。

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

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

4

1 回答 1

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

你好山姆!

由于我在 :scroll => true 和设置高度方面遇到的问题(通常鞋子的设计方式是个坏主意),我会以这种方式做类似的事情:

http://gist.github.com/54431

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

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

此外,您不需要保存 app 对象,因为 self(几乎)始终是 Shoes.app,如果不是,则有一个名为“app”的方法来获取它。

我希望这有帮助。

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

于 2009-01-30T21:40:33.093 回答