作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有自定义表格 View 单元格的表格 View 。在 tableview 单元格中有两个标签和一个按钮。我希望它为用户选择的行触发按钮操作以隐藏同一行中的标签。
这是我的表格 View Controller
ViweController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UITableViewDelegate, UITableViewDataSource>
@property (weak, nonatomic) IBOutlet UITableView *tablev;
@end
ViewController.m
#import "ViewController.h"
#import "TestTableViewCell.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 2;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
TestTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"mycell"];
cell.selectionStyle = UITableViewCellFocusStyleCustom;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSInteger sec = indexPath.section;
NSInteger rw = indexPath.row;
TestTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"mycell"];
cell.numberlabel.hidden = YES;
NSLog(@"selected section :%li ---> selected row :%li",(long)sec, (long)rw);
//in here I want fire the button acction in the cell for each row when cell tap.(not when the button click in the cell).
}
TestTableViewCell.h
#import <UIKit/UIKit.h>
@interface TestTableViewCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UILabel *staticlabel;
@property (weak, nonatomic) IBOutlet UILabel *numberlabel;
@property (weak, nonatomic) IBOutlet UIButton *hidebutton;
@end
TestTableViewCell.m//我试图在这里实现按钮点击方法。它起作用了。但那时它没有识别出哪个单元格被录音了。
**注意:我已经尝试在这里实现按钮点击方法。我工作了。但那时它没有识别出哪个单元格被录音了。 **
最佳答案
您可以通过两种方式实现,一种是将 Button Action 添加到 cellForRowAtIndexPath
中,然后设置 Button 的标签,如下面的代码:
hidebutton.tag=indexPath.row;
[hidebutton addTarget:self
action:@selector(hideaction:)
forControlEvents:UIControlEventTouchUpInside];
它的作用方法是
-(IBAction)hideaction:(UIButton*)sender
{
NSIndexPath *hideIndexpath = [NSIndexPath indexPathForRow:sender.tag inSection:0];
TestTableViewCell *cell = (TestTableViewCell *)[self.tablev cellForRowAtIndexPath:hideIndexpath];
}
另一种方法是您可以使用以下代码从 DidSelect 方法实现相同的目的:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
TestTableViewCell *cell = (TestTableViewCell *)[self.tablev cellForRowAtIndexPath:indexPath];
//use your cell object for hide anyting
}
关于ios - 如何在 iOS 的 didselectrowatindexpath 中触发按钮操作方法, objective-c ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38217438/
我是一名优秀的程序员,十分优秀!