'静态'UIButton ontop UIScrollview?

我想要达到一个相当简单的效果。一个scrollView和它上面的静态按钮。 到目前为止还没问题。不幸的是,如果我想滚动视图“低谷”按钮,就会出现问题。因此,开始在按钮内拖动将影响按钮,而不是滚动视图。 关于如何实现这一点的任何想法? 非常感谢! 我认为这种方法不起作用,因为在UIScrollView中不推荐使用touchesBegan ...(这个信息是真的吗?) 不是解决方案:-)
@implementation MySuperButton

+ (id)buttonWithFrame:(CGRect)frame {
    return [[[self alloc] initWithFrame:frame] autorelease];
}

- (id)initWithFrame:(CGRect)frame {
    if (self == [super initWithFrame:frame]) {
        NSLog(@"initWithFrame");
    }
    return self;
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [super touchesBegan:touches withEvent:event];
    [self.nextResponder touchesBegan:touches withEvent:event];
    NSLog(@"[self nextResponder]: %@", [self nextResponder]);
}

@end
不幸的是,这不起作用。我认为下一个响应者是我的UIView而不是我的UIScrollView。有任何想法吗? 如果我的viewcontroller是nextResponder,将触摸传递给scrollView,那么也没有任何反应。     
已邀请:
将按钮添加到滚动视图但不添加到其父视图,一切都应该正常工作。直接触摸按钮将传递到按钮,背景上的触摸(滚动视图)将传递到滚动视图。 由于按钮不是滚动视图的子视图,因此它不会随背景一起移动(我认为你的意思是静态)。     
我从来没有玩过很多触摸事件等等,但无论如何我会尝试帮助我的基本理解。 尝试将按钮的exclusiveTouch设置为NO。不确定,但也许enableMultitouch也是YES。 如果这不起作用我会尝试子类化UIButton,覆盖触摸事件并在[super touchEventX:]之前/之后将它们传递给[self nextResponder]?     
有点难以理解你想要实现的目标。你想滚动按钮吗?   因此,开始在按钮内拖动将影响按钮,而不是滚动视图。 目前尚不清楚这是您想要的行为还是您想要改变的行为。 如果它是前Eiko的答案是正确的,如果是后者你应该添加按钮作为滚动视图的子视图,并在调用
scrollViewDidScroll:
时更新其框架。我从未尝试过这个,但它在理论上有效。     
将整个滚动视图向下移动按钮的高度,并将其高度缩小相同的量。然后将您的按钮放在滚动视图上方 - 因此它不是滚动视图的子项。     
如果您在视图中添加简单按钮,那么如果您触摸按钮。它将调用它的动作。 同样的方式 如果您在ScroolView中添加简单按钮,那么如果您触摸按钮。它将调用它的动作。 如果你触摸scroolview的空白区域,那么调用UIScrollView的委托方法。 如果你把手指放在按钮上并拖动它会显着影响滚动视图。 scrollview将拖动100%     

要回复问题请先登录注册