UITableViewCell子类 - 在IBAction上添加子视图

时间:2012-08-12 19:44:20

标签: objective-c ios uitableview

当触发视图中的UIViewController按钮时,我正在尝试将子视图添加到UITableViewCell的视图中。我面临的问题是从表视图单元的子类调用父视图。

3 个答案:

答案 0 :(得分:1)

您可以在视图层次结构中查找父tableView

-(UITableView*) parentTableView
{
    UIView* v = [self superview];
    while (v && ![v isKindOfClass:[UITableView class]]) {
        v = [v superview];
    }
    return v;
}

答案 1 :(得分:0)

创建tableviewcell子类时,通过创建自己的init方法将指针传递给父视图的实例。然后将该指针保存在子类中作为实例变量。这样,当子类中发生某些事情时,您可以按照自己的意愿执行操作。如果您需要更多帮助,请告诉我。

答案 2 :(得分:0)

我建议为UIViewController设置UITableViewCells委托。您必须创建协议并使UIViewController实现它。此外,您需要子类UITableViewCell以添加委托属性。

#import <Foundation/Foundation.h>

@protocol YourTableViewCellDelegate

  - (void)didTouchButton:(UIButton *)theButton;

@end

UIButton的操作方法中检查是否存在委托:

if (self.delegate != nil && [self.delegate respondsToSelector:@selector(didTouchButton:)]) {
    [self.delegate performSelector:@selector(didTouchButton:) withObject:_theButton];
}