3

我有一个按钮放置在view部分......它的一半在视图上,另一半只是有点浮动。因此,如果 A 是我的基本视图并且 B 放在它上面,并且我在 B 上添加了这个按钮。如果我点击 B 上方部分的按钮,它会接收触摸并执行操作,但如果这个触摸在外面B 的区域比触摸没有执行....我在这里做错了什么...?任何帮助表示赞赏。

这是我添加按钮的方式。我正在尝试动态删除按钮,类似于在 IOS 中删除应用程序的方式。

UIButton *deletButton1 = [UIButton buttonWithType:UIButtonTypeCustom] ;
        deletButton1.frame = CGRectMake(25, -5, 30,30);;
        deletButton1.backgroundColor = [UIColor clearColor];
        deletButton1.tag=1;
        UIImage *buttonImageNormal1 = [UIImage imageNamed:@"delete.png"];
        [deletButton1 setBackgroundImage:buttonImageNormal1 forState:UIControlStateNormal];
        [deletButton1 addTarget:self action:@selector(deleteButton:) forControlEvents:UIControlEventTouchUpInside];

[self.addButton1 addSubview:deletButton1]; 

这是一个屏幕截图..

在此处输入图像描述

4

3 回答 3

3

作为记录,如果您覆盖父视图的正确方法,子视图不必位于父视图的框架内以接收触摸。

有关更多详细信息,请参见此线程:

UIView 越界交互

于 2012-09-26T14:34:39.163 回答
0

按钮的框架应从原点 (0,0) 开始。我的意思是按钮应该完全在视图 B 内。否则切割区域无法接收触摸。将按钮框架设置为 (25,0,30,30)。

于 2012-09-26T13:05:53.837 回答
0

您正在 addbutton1 上添加删除按钮,因此设置 addbutton1 的背景颜色并设置 deletebutton1 的另一种颜色并检查天气框架是否正确。我猜你的框架不正确,这就是它发生的原因,并确保你的 deletebutton1 不会因为另一个视图而被隐藏。

我对此不确定,但检查一次可能会对您有所帮助。[deletButton1 setNeedsDisplay];

于 2012-09-26T15:08:00.453 回答