我继承了UIView的类里创建了一个tableView,当我在这个UIView里设置按钮的事件能成功:
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
self.customView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.bounds.size.width, 80)];
self.myButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 20, 100, 40)];
self.myButton.backgroundColor = [UIColor redColor];
[self.myButton addTarget:self action:@selector(doButonAction) forControlEvents:UIControlEventTouchUpInside];
[self.customView addSubview:self.myButton];
return self.customView;
}
但是,我把按钮公开,然后再controller里设置事件就不行。这是什么原因?
View:
@property (strong, nonatomic) UIButton *myButton;
controller:
CustomView *cv = [[CustomView alloc] initWithFrame:self.view.bounds ];
[cv.myButton addTarget:self action:@selector(doButtonAction11) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:cv];
Potong titik putus dan lihat jika myButton dicipta apabila anda menambahTarget Adakah ia mempunyai memori?
Saya cadangkan anda membuat blok dan memanggilnya apabila diklik
Anda perlu memastikan myButton dimulakan.
Saya tidak pernah mencuba acara lulus seperti ini Anda disyorkan menggunakan blok/wakilkan/notis. Secara peribadi, saya fikir objek itu tidak dicipta. Anda boleh mencetaknya untuk melihat sama ada objek pengawal wujud.
Mungkin kaki paparan meja anda tidak mempunyai ketinggian, jadi anda tidak dapat melihatnya dengan jelas.