我有一个位于NSScrollView顶部的按钮,而不在其中。当滚动视图滚动时,按钮会被剪切,按钮的一部分与滚动一起移动而另一部分保持定位。
为了更好地描述问题,这里有一个问题视频:
http://dl.dropbox.com/u/170068/ScrollTest.mov
计划的目标是让一个按钮位于文本视图的右上角,但在文本视图滚动时保持不变。因此,如果有人对如何实现这一点有任何想法,那将非常感激。
答案 0 :(得分:0)
您应该子类化NSScrollView并覆盖“tile”方法以定位滚动视图的子控件。
- (void)tile
{
[super tile];
if (subControl)
{
NSRect subControlFrame = [subControl frame];
// adjust control position here in the scrollview coordinate space
// move controls
[subControl setFrame:subControlFrame];
}
}
我已经用这种方式实现了一个自定义ScrollView,其中嵌入了缩放控件和背景颜色选择器。
答案 1 :(得分:0)
不建议对非图层支持的视图重叠视图。我认为Interface Builder甚至会警告你。解决这个问题的最简单方法是让你的按钮支持图层。