私はボーダー、セクションヘッダーとセルでUITableviewを作成しようとしています。私はxibファイルを使用しています。 UITableviewとxcodeファイルを使って作成されたセル。セクションヘッダには "viewForHeaderInSection"が使われましたが、UITableviewに境界線を設定しようとすると、セクションとセルが隠れてしまいます。 UITableviewボーダーセクションセルを非表示
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.tableView.delegate = (id) self;
self.tableView.dataSource = (id) self;
self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
self.tableView.layer.borderWidth = 20.0;
self.tableView.layer.borderColor = [UIColor colorWithRed:204/255.0 green:204/255.0 blue:204/255.0 alpha:1.0f].CGColor;
}
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
NSDictionary *dict = [[NSDictionary alloc] initWithDictionary:[self.array objectAtIndex:section] copyItems:YES];
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 5, tableView.frame.size.width, 50)];
view.backgroundColor = [UIColor colorWithRed:81/255.0 green:190/255.0 blue: 168/255.0 alpha:1.0f];
UIView *seperatoreView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 10)];
seperatoreView.backgroundColor = [UIColor colorWithRed:204/255.0 green:204/255.0 blue:204/255.0 alpha:1.0f];
[view addSubview:seperatoreView];
UILabel *numberLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 100, 30)];
numberLabel.backgroundColor = [UIColor clearColor];
numberLabel.text = [NSString stringWithFormat:@"%@",[dict objectForKey:@"key"]];
numberLabel.textColor = [UIColor whiteColor];
[numberLabel setFont:[UIFont boldSystemFontOfSize:17.0f]];
[view addSubview:numberLabel];
NSDateFormatter *formate = [[NSDateFormatter alloc] init];
[formate setDateFormat:@"yyyy-MM-dd"];
NSDate *SDate = [formate dateFromString:[dict objectForKey:@"sDateKey"]];
NSDate *EDate = [formate dateFromString:[dict objectForKey:@"eDateKey"]];
[formate setDateFormat:@"MMM d"];
NSString *StartDateStr = [formate stringFromDate:SDate];
NSString *EndDateStr = [formate stringFromDate:EDate];
if([StartDateStr isEqual:[NSNull null]]){
StartDateStr = @"";
}
if([EndDateStr isEqual:[NSNull null]]){
EndDateStr = @"";
}
UILabel *weekDateLabel = [[UILabel alloc] initWithFrame:CGRectMake(view.frame.size.width-140, 10, 150, 30)];
weekDateLabel.backgroundColor = [UIColor clearColor];
weekDateLabel.text = [NSString stringWithFormat:@"%@ - %@",StartDateStr,EndDateStr];
weekDateLabel.textColor = [UIColor whiteColor];
[weekDateLabel setFont:[UIFont boldSystemFontOfSize:17.0f]];
[view addSubview:weekDateLabel];
return view;
}
私はのUITableViewの国境をしたいが、完全なセクションヘッダとセルで、誰もがそれを達成する方法を知っていますか?
あなたはあなたのコードを共有していただけますか? – Kampai
1つのことをしてください。私はこれが正解であるかどうかわからない。しかし、それを試してみてください。境界線の高さのサイズを大きくし、セクションヘッダーの下部にラベルを設定します。セクションヘッダをカスタマイズすることができます。 1つのデリゲートメソッドがあります。 – phani
この問題を回避するにはもう1つのことができます。背景色としてtableViewの境界線の色を設定するか、境界線の幅に応じてtableViewのparentViewを左に設定します。この方法で、この問題を回避できます。 – Surjeet