我创建了一个像这样的UIButton:
button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0,0,100,100);
按钮有效,但命中区域仅在文本上,而不是整个按钮。我已将按钮的背景设置为[UIColor clearColor]
。我需要做些什么来使按钮的整个框架成为命中区域?
我想我可以将标签的框架更改为等于按钮,但这看起来很糟糕。还有更好的方法吗?
答案 0 :(得分:2)
尝试这样,
UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom];
button.frame=CGRectMake(0,0,100,100);
button.backgroundColor=[UIColor clearColor];
[button setTitle:@"Set" forState:UIControlStateNormal];
[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonClicked) forControlEvents: UIControlEventTouchUpInside];
[self.view addSubview:button];
答案 1 :(得分:1)
有问题的按钮是用图层构建的。我最终做的是确保背景层具有坚实的背景色。在这种情况下,简单地将按钮的背景设置为清除不起作用。
//set a background color so it is clickable
[layer0 setBackgroundColor: CGCOLORA(0, 1) ];
答案 2 :(得分:0)
将UIButton的opaque属性设置为true对我有用(iOS10)