UIButton TouchUpInside或UITableView自定义单元格中无法正常工作的任何其他事件。如果我按下角落里的按钮,有时触摸有效。
实际上我想在任何时候重新排序单元格,所以我启用了编辑模式。
[_profileTblView setEditing:YES animated:YES];
_profileTblView.allowsSelectionDuringEditing=YES;
如果我禁用编辑模式,那么UIButton事件正常工作,但我无法重新排序单元格。在这里,我希望两者一起工作。
那么,这将是什么解决方案..
我的手机看起来像
Cell的Prototype看起来像
答案 0 :(得分:0)
在自定义单元格结束处
1)制作自定义单元格.h文件的协议,如
@protocol CustomCellDelegate
@optional
- (void)ButtonTappedOnCell:(id)sender;
@end
2)在.h文件中设置委托,并在点击方法
上设置自定义单元格按钮@property (nonatomic, strong) id<CustomCellDelegate> delegate;
- (IBAction)buttonTapped:(id)sender;
3)在你的.m文件中,
- (IBAction)buttonTapped:(id)sender {
[self.delegate ButtonTappedOnCell:self];
}
4)将IBAction与Button链接
5)取消选中自定义单元格的使用Autolayout
在桌面视图结束时
1)设置自定义单元格的代理
@interface SomeViewController : UIViewController<UITableViewDelegate, UITableViewDataSource, CustomCellDelegate>
2)在 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 中,设置单元格的委托cell.delegate=self
。
3)根据您的需要实施新的代表功能,即
- (void)ButtonTappedOnCell:(id)sender
{
//your logic
}
希望对你有所帮助。
干杯
答案 1 :(得分:0)
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *Cell = [tableView dequeueReusableCellWithIdentifier:@"" forIndexPath:indexPath];
[cell.buttnName2 addTarget:self action:@selector(BtnAction:) forControlEvents:UIControlEventTouchUpInside];
return Cell;
}
//action for button
- (void)BtnAction:(id)sender//type 1 button action
{
}