gpt4 book ai didi

iphone - 以编程方式创建的按钮不会在 iOS 的自定义 View 中触发事件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:05:53 24 4
gpt4 key购买 nike

在 iOS 上,我以编程方式创建了一个按钮,但事件没有触发。

UIButton * anyButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[anyButton addTarget:self action:@selector(handleAnyButton:) forControlEvents:UIControlEventTouchUpInside];
anyButton.frame = CGRectMake(150, 350, 22, 22);
[self addSubview:anyButton];

代码放在自定义 View (不是自定义 View Controller )内,但我无法让它触发事件。新闻动画不显示。自定义 View 启用了 userInteractionEnabled。我还尝试使用 Storyboard在同一 View 上创建另一个按钮,并且该按钮正在运行。按钮代码在initWithFrame中完成。一定是一些我没有发现的简单错误,几个小时以来我一直在为这个问题苦思冥想。

编辑:

事件处理程序:

-(void) handleAnyButton:(UIButton *)button
{
NSLog(@"handleAnybutton called");
}

编辑2:上面的按钮代码是在 PKLocationsSelectionView 类的 [self setup] 中完成的。

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

并且此 View 是在负责此层次结构的 View Controller (PKLocSelectionViewController) 中以编程方式创建的:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.

CGFloat fieldsHeight = 88;
UIView * view = [[PKLocationsSelectionView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, fieldsHeight)];

[self.view addSubview:view];
}

最佳答案

它看起来像你的按钮框架

anyButton.frame = CGRectMake(150, 350, 22, 22);

在父边界之外

CGFloat fieldsHeight = 88;
UIView * view = [[PKLocationsSelectionView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, fieldsHeight)];

关于iphone - 以编程方式创建的按钮不会在 iOS 的自定义 View 中触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13924900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com