在 UICollectionViewCell 中点击 UIButton
Having a UIButton be tapped in a UICollectionViewCell
我有一个 UICollectionView,它的单元格都已布局。
我将其声明为子视图:
@property (nonatomic, strong) UIButton *aButton;
然后我在每个单元格中声明如下:
if (_aButton == nil)
{
_aButton = [UIButton buttonWithType:UIButtonTypeSystem];
}
// Add in all _aButton info here
[self.contentView addSubview:_aButton];
// Call to button pressed for button
[_aButton addTarget:self action:@selector(aButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
按钮点击方法如下:
- (IBAction) aButtonPressed:(UIButton *) sender
{
// Code never gets heree
}
if(_aButton
== `nil) 是必需的,因为单元会被重用。
现在我该如何进行这项工作?谢谢
在将按钮添加到视图之前添加按钮操作代码....可能会起作用。
// Call to button pressed for button
[_aButton addTarget:self action:@selector(aButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
// Add in all _aButton info here
[self.contentView addSubview:_aButton];
我认为,您初始化按钮的方式将为您提供 0,0,0,0 帧。所以首先给它一个适当的框架和标题,以便在屏幕上可见。
然后尝试点击该标题,看看它是否有效。
不清楚您在此处尝试实现什么,但该按钮不起作用,因为您没有在单元格上设置它的位置和大小。这可以通过设置框架或布局约束来完成。
尝试设置按钮框:
_aButton.frame = CGRectMake(0.0f, 0.0f, 50.0f, 50.0f);
您还可以为按钮设置背景颜色,使其在单元格上可见:
_aButton.backgroundColor = [UIColor redColor];
其他一切都正确,按钮应该可以工作。
我有一个 UICollectionView,它的单元格都已布局。
我将其声明为子视图:
@property (nonatomic, strong) UIButton *aButton;
然后我在每个单元格中声明如下:
if (_aButton == nil)
{
_aButton = [UIButton buttonWithType:UIButtonTypeSystem];
}
// Add in all _aButton info here
[self.contentView addSubview:_aButton];
// Call to button pressed for button
[_aButton addTarget:self action:@selector(aButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
按钮点击方法如下:
- (IBAction) aButtonPressed:(UIButton *) sender
{
// Code never gets heree
}
if(_aButton
== `nil) 是必需的,因为单元会被重用。
现在我该如何进行这项工作?谢谢
在将按钮添加到视图之前添加按钮操作代码....可能会起作用。
// Call to button pressed for button
[_aButton addTarget:self action:@selector(aButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
// Add in all _aButton info here
[self.contentView addSubview:_aButton];
我认为,您初始化按钮的方式将为您提供 0,0,0,0 帧。所以首先给它一个适当的框架和标题,以便在屏幕上可见。
然后尝试点击该标题,看看它是否有效。
不清楚您在此处尝试实现什么,但该按钮不起作用,因为您没有在单元格上设置它的位置和大小。这可以通过设置框架或布局约束来完成。
尝试设置按钮框:
_aButton.frame = CGRectMake(0.0f, 0.0f, 50.0f, 50.0f);
您还可以为按钮设置背景颜色,使其在单元格上可见:
_aButton.backgroundColor = [UIColor redColor];
其他一切都正确,按钮应该可以工作。