UIButton在uiscrollView中不起作用

我有一个UIView作为子视图的scrollView 。 这有UIView子视图UIButton 。 只有scrollView连接到插座,其余全部在代码中。 该按钮不响应触摸,触摸时不会变为蓝色。 我能做些什么来使它工作?

这是代码:

   - (void)viewDidLoad
 {
       [super viewDidLoad];

      //......

      self.buttonHome = [UIButton buttonWithType:UIButtonTypeCustom];
      [self.buttonHome addTarget:self action:@selector(pressedHome:)
                                  forControlEvents:UIControlEventTouchUpInside];
      //....
      self.containerView =[[UIView alloc]initWithFrame:self.scrollView.frame];
      self.containerView.userInteractionEnabled=YES;

      [self.scrollView addSubview:self.containerView];
      [self.containerView addSubview:self.buttonHome];
  }

  -(void) pressedHome:(id)sender{
         //....
  }

您必须设置视图的内容大小。 这必须大于或等于scrollView的内容大小。

因为视图的默认尺寸是320 * 480(3.5“视网膜)和320 * 568(4”视网膜)。 所以增加观看的高度,

self.view.frame = CGRectMake(0,0,320,700);

然后将其添加为您的scrollView的子视图。

会让你找到解决方案。


我解决它

  - (BOOL)touchesShouldCancelInContentView:(UIView *)view
  {
       return ![view isKindOfClass:[UIButton class]];
  }

由于问题是要放一个按钮UIButton


确保你的滚动视图没有吞咽触摸:检查这个其他SO问题

链接地址: http://www.djcxy.com/p/66249.html

上一篇: UIButton does not work in uiscrollView

下一篇: exclude private property from print