从UITableViewCell类显示警报 - 目标c

时间:2017-03-02 18:13:29

标签: objective-c xcode

我想在自定义单元格中显示带有按钮的警报。 我怎样才能在Objective C中做到这一点? 感谢

2 个答案:

答案 0 :(得分:1)

容器 weak的{​​{1}}实例传递到自定义表格视图单元格。
该单元格将使用此传入 View Controller来显示View Controller
实现此目的的一些示例代码如下所示:

UIAlertController

答案 1 :(得分:1)

您只需要创建一个带有标签和按钮的自定义单元格,无论您想在其中显示什么。

<强> CustomTableViewCell.h

#import <UIKit/UIKit.h>

@interface CustomTableViewCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UILabel *lblName;
@property (weak, nonatomic) IBOutlet UIButton *btnAlert;

@end

<强> CustomTableViewCell.h

#import "CustomTableViewCell.h"

@implementation CustomTableViewCell

- (void)awakeFromNib {
    [super awakeFromNib];
    // Initialization code
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

@end

现在,在您的控制器中,您需要创建表视图并提供自定义单元格并绑定 cellForRowAtIndexPath 中的按钮方法。

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        return 10;
    }

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static N

SString *simpleTableIdentifier = @"CustomTableViewCell";

    CustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {
        cell = (CustomTableViewCell*)[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }

    cell.lblName.text = [NSString stringWithFormat:@"%ld",(long)indexPath.row];
    cell.btnAlert.tag = indexPath.row;
    [cell.btnAlert addTarget:self action:@selector(alertButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
    return cell;
}

-(IBAction)alertButtonClicked:(id)sender
{
    [[[UIAlertView alloc] initWithTitle:@"Alert" message:@"Button Clicked" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil] show];
}