私はファイルを持っています。各セルには、名前、連絡先などのデータの要約があります。ここでセルに触れると、そのセルのデータの詳細がある別のViewController
に移動します。このViewController
が何を示すかは関係ありません)。このxibファイルのセルタッチから別のViewController
に行きたいです。どうやってやるの。Xib to ViewController
編集:
CallHistoryTableViewCell.h
@interface CallHistoryTableViewCell : UITableViewCell
@property(nonatomic, strong) IBOutlet UILabel *contactName;
@property(nonatomic, strong) IBOutlet UILabel *contactNumber;
@end
このクラスはCallHistoryTableViewCell.xibファイルを持っています。
CallHistoryVC.h
@interface CallHistoryVC : UIViewController
@end
CallHistoryVC.m
#import "CallHistoryVC.h"
#import "CallHistoryTableViewCell.h"
@interface CallHistoryVC()<UITableViewDelegate, UITableViewDataSource,CallingViewControllerDelegate> {
AppDelegate *appDelegate;
}
@property (nonatomic, strong) NSMutableArray<RecentCall> *sortedEventArray;
@property (weak, nonatomic) IBOutlet UITableView *tView;
- (void)viewDidLoad {
[super viewDidLoad];
appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
//---add one contact---//
[self defaultViewSetting];
_tView.delegate = self;
_tView.dataSource = self;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 75;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return _sortedEventArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CallHistoryTableViewCell";
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
DetailsOfHistory *storyViewController = [mainStoryBoard instantiateViewControllerWithIdentifier:@"DetailsOfHistory"];
//[self presentViewController:storyViewController animated:YES completion:nil]; // present it
[self.navigationController pushViewController:storyViewController animated:YES];// or push it
NSLog(@"%ld",(long)indexPath.row);
}
すべてが正常に動作しますが、didSelectRowAtIndexPath
にindexPathはそれが機能していないタッチを意味表示されていません。私はstroyboardで別のviewcontrollerに行きたいセルをクリックしてください。
あなたはUITableViewのドキュメントを読んだことがありますか? https://developer.apple.com/documentation/uikit/uitableviewdelegate/1614877-tableview?preferredLanguage=occ –
UITableViewDelegateのdidSelectRowAtIndexPathメソッドを実装してください – meim
問題はそこにあるのですが、xibをViewControllerにリンクできませんでした。ストーリーボードのViewControllerにxibをリンクすることは可能ですか? – sazid008