gpt4 book ai didi

objective-c - 在 UIVew 下的 UIButton 上启用用户交互?

转载 作者:行者123 更新时间:2023-11-28 17:31:42 26 4
gpt4 key购买 nike

在我的程序中,我配置了一个 UIView 放置在多个 UIBUtton 上。这样您就可以平移 View 并移动按钮以及选择按钮本身。但是,无法选择位于此 UIView 下方的按钮。有人知道如何在这些条件下配置 UIButtonuserInteractionEnabled 吗?

最佳答案

这项技术对我有用 - 警告:我只是输入了它,它没有被编译或者没有作为起点给出。

  1. 创建按钮并将它们放置在 View 层次结构的顶部(即它们在 UIView 顶部正常交互和响应点击的位置)
  2. 创建按钮时 - 在数组中保留对它们的引用。

    NSMutableArray* arrayOfPeskyButtons;

  3. 记录按钮帧

    NSMutableArray* arrayOfPeskyFrames = [NSMutableArray mutableArray];
    for ((UIButton*)button in arrayOfPeskyButtons)
    {
    [arrayOfPeskyFrames addObject:[NSValue valueWithCGRect:button.frame];
    }
  4. 当您的应用程序响应 UIView 上的操作 - 平移,或者如果您将其更改为 UIScrollView(顺便说一句,可能是最好的),然后相应地移动按钮的框架,以便它们在用户看来固定在适当的位置.

我已经使用这种技术来创建位于 ScrollView 顶部的按钮“叠加层”,而且效果出奇地好。只需在 scrollView 委托(delegate)方法中。

-(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++;
}

关于objective-c - 在 UIVew 下的 UIButton 上启用用户交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10975907/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com