我有一个UIButton。我发现当我移动它时,它不再响应触摸。让我详细解释一下我是如何确定这一点的:当我将一个100像素宽度的按钮向右移动50个像素时,只有左半部分响应我的手指敲击它。
当我动态更改框架时,如何告诉按钮“更新触摸检查器”?我在代码中更改框架,而不是在xib中。
初始化:
MATCGlossyButton *repeat = [[MATCGlossyButton alloc] init];
[repeat addTarget:self action:@selector(repeatPressed:) forControlEvents:UIControlEventTouchUpInside];
[repeat setTitle:@"Repeat" forState:UIControlStateNormal];
repeat.buttonColor = [UIColor brownColor];
repeat.backgroundColor = [UIColor clearColor];
repeat.cornerRadius = 20;
repeat.frame = CGRectMake(200,208,105,50);
然后是:
repeat.frame = CGRectMake(265, 208, 105, 50);
答案 0 :(得分:1)
您是否有可能将按钮移动到其父视图的边界之外?即使裁剪已关闭,触摸也不会在视图外传播。
可视化视图边框的简单方法是执行以下操作:
#import <QuartzCore/QuartzCore.h>
[...]
view.layer.borderWidth = 1;
view.layer.borderColor = [UIColor redColor].CGColor;