UITableviewのCustomCellにUITextFieldがあり、このUITableviewをMainviewのサブビューとして使用しています。MainViewにもある別のUITableviewがありますが、このUITableviewをMainViewのサブクラスとして使用しています。私の問題。
画像が示すように、UITableviewの上は私のサブクラスUITableviwであり、下はUITextFieldを持つCustomCellを持つ単一行のUITableviewです。サブクラスUITableviewのセルをクリックすると、UITableviewのCustomCellにあるUITextFieldテキストがクリアになります。
注:-質問をより簡単にするために、UITextfieldがメインビュー(UITableviewのCustomCellではない)にある場合に機能するコードがあります。これが私のコードです。Mainview.hファイル内
#import <UIKit/UIKit.h>
#import "Inputtableview.h"
@interface testingViewController : UIViewController<UITextFieldDelegate,UITableViewDelegate,UITableViewDataSource> {
IBOutlet UITextField *txtfinput;
Inputtableview *inputview;
IBOutlet UITableView *inputtbl;
}
@property (nonatomic, retain) UITextField *txtfinput;
@end
そして、Mainview.mファイルのViewDidloadで
- (void)viewDidLoad {
if (inputview == nil) {
inputview = [[Inputtableview alloc] init];
}
[inputtbl setDataSource:inputview];
[inputtbl setDelegate:inputview];
inputview.view = inputview.tableView;
inputview.myAccessToMaintxtf = txtfinput;
[super viewDidLoad];
}
UITableview.hファイルのサブクラスになりました
#import <UIKit/UIKit.h>
@interface Inputtableview : UITableViewController<UITableViewDelegate,UITableViewDataSource> {
}
@property (nonatomic, assign) UITextField *myAccessToMaintxtf;
@end
そして最後に私のサブクラスUITableview.mファイルで
@implementation Inputtableview
@synthesize myAccessToMaintxtf;
#pragma mark -
#pragma mark Table view delegate
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
myAccessToMaintxtf.text=@"";
}
私が前述したように、MainViewにTextFieldがある場合、上記のコードは正常に機能しますが、UITableviewのCustomCellでUITextFieldのテキストをクリアしたい場合、それを修正する方法がわかりませんでした。