当触发视图中的UIViewController
按钮时,我正在尝试将子视图添加到UITableViewCell
的视图中。我面临的问题是从表视图单元的子类调用父视图。
答案 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];
}