Ios 在SuperView中生成UIView的自定义UIView按钮

Ios 在SuperView中生成UIView的自定义UIView按钮,ios,uiview,uiviewcontroller,uibutton,Ios,Uiview,Uiviewcontroller,Uibutton,我正在试验一个自定义的类按钮,它在触摸启动时显示UIView。 我有一个UIButton类名,它是TapInButton。这是密码 #import "TapInButton.h" #import "TapInViewController.h" @interface TapInButton() @property (nonatomic,strong) TapInViewController * tapIn; @end @implementation Tap

我正在试验一个自定义的类按钮,它在触摸启动时显示UIView。 我有一个UIButton类名,它是TapInButton。这是密码

#import "TapInButton.h"
#import "TapInViewController.h"

@interface TapInButton()
@property (nonatomic,strong) TapInViewController * tapIn;
@end
@implementation TapInButton
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    
    self.tapIn = [[TapInViewController alloc] initWithNibName:@"TapIn" bundle:nil];
    self.tapIn.view.frame = CGRectMake(0, 50, 300, 500);
    self.tapIn.view.backgroundColor = [UIColor redColor];
    
    [self.superview addSubview:self.tapIn.view];

    
}
如您所见,我导入了生成xib文件的TapInViewController。 当用户单击具有自定义类TapInButton的tapin按钮时。 它显示xib文件。见下图

我成功地将xib添加到主ViewController,但问题是我无法单击xib文件中的按钮。我的代码中缺少什么吗?或者这是否可以在自定义UIButton内生成uiview

我知道生成xib文件的另一种方法,但不使用自定义按钮。如果可能的话,我只想澄清一下我的想法。希望得到你的建议或解释。提前谢谢

问题是我无法单击xib文件中的按钮。我的代码中缺少什么吗


您必须在代码中获取对按钮的引用,并在代码中设置按钮点击操作连接(通过调用
addTarget:action:forControlEvents:
)。

是否启用了userInteractionEnabled?我也不确定这是否完全必要,但您通常调用[super TouchesStart:TouchwithEvent:event];在方法的开头,@JoshGafni很抱歉没有及时回复。我只是猜测这是否有效。我是这个自定义类的新手。我尝试启用userInteractionEnable,但输出相同。我无法单击我的xib文件中的按钮。抱歉,答复晚了。我在TapInViewController中尝试了它,并在viewdidload中添加了addTarget:action:forControlEvents:但它不起作用。