0

我有以下层次结构:

- UIView 1
  - UIScrollView 2
    - UIView 3
      - UIView 4
        - UIButton 5 

我的问题是 UIButton 上的触地需要我按下似乎很长一段时间(如一秒钟)才能被 UIButton 注册。

创建此层次结构的方式:UIView1 是从嵌入 2 和 3 的 nib 文件加载的,但 4 是从另一个 nib 文件创建的,首先放置在此处未描述的一个视图中,然后使用 addsubview 引入 3。(我不知道这是否相关)。

有人对如何解决此延迟有任何想法吗?问题出现在我使用 ios5.1 的 4s 上,而不出现在使用 iOS 6 的模拟器上。

4

2 回答 2

1

尝试将 UIScrollView delaysContentTouches 属性设置为 NO。

或者

尝试使用 [button performSelector:@selector(buttonClickMethod:) afterDelay:0.0];

于 2012-10-04T12:22:35.727 回答
0
@interface CustomScrollView : UIScrollView {

}

@end

@implementation CustomScrollView


- (id)initWithFrame:(CGRect)frame {
    if ((self = [super initWithFrame:frame])) {
        // Initialization code
    }
    return self;
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    [[self superview] touchesEnded:touches withEvent:event];
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    [[self superview] touchesBegan:touches withEvent:event];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

    [[self superview] touchesMoved:touches withEvent:event];

}

- (void)dealloc {
    [super dealloc];
}


@end

使用 customscrollview 而不是 uiscrollview

于 2012-10-04T12:11:01.977 回答