Objective c 在UIVew下方的UIButton上启用用户交互?
在我的程序中,我配置了一个Objective c 在UIVew下方的UIButton上启用用户交互?,objective-c,ios,uiview,uibutton,user-interaction,Objective C,Ios,Uiview,Uibutton,User Interaction,在我的程序中,我配置了一个ui视图,放置在许多ui按钮s上。这样,您就可以在视图中平移并移动按钮以及选择按钮本身。但是,当按钮位于该视图下方时,无法选择按钮。在这些条件下,有人知道如何配置UIButton的userInteractionEnabled吗?与其更改UIButton的userInteractionEnabled的值,不如将UIButton顶部UIView的userInteractionEnabled值设置为no 当UIView的userInteractionEnabled设置为YES
ui视图
,放置在许多ui按钮
s上。这样,您就可以在视图中平移并移动按钮以及选择按钮本身。但是,当按钮位于该视图下方时,无法选择按钮。在这些条件下,有人知道如何配置UIButton
的userInteractionEnabled
吗?与其更改UIButton的userInteractionEnabled的值,不如将UIButton顶部UIView的userInteractionEnabled值设置为no
当UIView的userInteractionEnabled设置为YES时,UIView正在“吞噬”事件。该按钮将永远不会接收任何事件。这项技术对我来说很有效-警告:我只是输入了这个,它不是编译的,或者是作为起点给出的
NSMutableArray* arrayOfPeskyFrames = [NSMutableArray mutableArray];
for ((UIButton*)button in arrayOfPeskyButtons)
{
[arrayOfPeskyFrames addObject:[NSValue valueWithCGRect:button.frame];
}
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
记下scrollView偏移量,并根据scrollView的偏移量相应地调整按钮的每一帧
CGPoint offset = scrollView.contentOffset;
遍历按钮数组并移动它们
int index = 0;
for ((UIButton*)button in arrayOfPeskyButtons)
{
CGRect originalFrame = [[arrayOfPeskyFrames objectAtIndex:index]CGRectValue];
CGRect currentFrame = button.frame;
//adjust frame
//e.g.
currentFrame.origin.x = originalFrame.origin.x + offset.x;
button.frame = currentFrame.;
index++;
}
尝试在覆盖按钮的UI视图上禁用用户交互。我需要
userInteractionEnabled
将该视图设置为true
,以便我可以向其添加UIPangestureRecognitor
。如果此视图是透明的,并且仅用于检测平移手势,那么为什么不将按钮放置在视图顶部呢?我只是我试过了。按钮阻止下方的ui视图
识别平移事件。是的,它们是。我还没有尝试使用UIScrollView
,但我确信我能解决这个问题。谢谢你的帮助!我知道它正在这样做。也许我的问题不清楚。重要的是,UIView
的userInterActionEnabled
设置为true
,以便它能够识别pan事件。