ios - 2 具有不同自定义单元格的 UITableView

标签 ios uitableview custom-cell

我需要在一个 View 中使用两个 TableView 。我还需要使用自定义单元格创建这些表格。

我尝试了一些方法,但在表格单元格中甚至看不到简单的字符串。

这里出了什么问题?

这是我更新的代码;

我仍然有问题,我正在采取无效参数异常 [LastVisitOrder superview]:无法识别的选择器发送到实例。因为我已将 uiview 更改为 uiview Controller 。

- (id)initWithFrame:(CGRect)frame
 {
self.view = [super initWithFrame:frame];

if (self) {


    self.view.frame = CGRectMake(0, 0, 1024, 768);


    [self.view setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.8]];




    UIView *popup = [[UIView alloc]initWithFrame:CGRectMake((self.view.frame.size.width-860)/2,(self.view.frame.size.height-570)/2, 860, 570)];

    [popup setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"popup_bckgrnd"]]];

    [self.view addSubview:popup];


    UILabel *customerName = [[UILabel alloc]initWithFrame:CGRectMake(50, 50, 300, 30)];
    [customerName setBackgroundColor:[UIColor clearColor]];
    [customerName setText:@"Beşiktaş Eczanesi"];
    [customerName setFont:[UIFont fontWithName:@"Arial-BoldMT" size:18]];

    [popup addSubview:customerName];


    UILabel *customerDetail = [[UILabel alloc]initWithFrame:CGRectMake(50, 70, 300, 30)];
    [customerDetail setBackgroundColor:[UIColor clearColor]];
    [customerDetail setText:@"Tel: 231 213 23 23 Bla bla cad. Bla bla Sok. Bla bla Apt. No:Bla Blastan/Bistanbul"];
    [customerDetail setFont:[UIFont fontWithName:@"Arial" size:14]];

    [popup addSubview:customerDetail];


    UIButton *close = [[UIButton alloc]initWithFrame:CGRectMake(780, 65, 19, 19)];

    [close setBackgroundImage:[UIImage imageNamed:@"kapat"] forState:UIControlStateNormal];

    [close addTarget:self action:@selector(closePopUp:) forControlEvents:UIControlEventTouchUpInside];

    [popup addSubview:close];





    UIView *titleLine = [[UIView alloc]initWithFrame:CGRectMake(35, 100, 790, 2)];

    [titleLine setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"baslik_cizgi"]]];

    [popup addSubview:titleLine];


    dateTable = [[UITableView alloc]initWithFrame:CGRectMake(48.5, 165, 200, 345)];

    dateTable.layer.cornerRadius = 10;

    [dateTable setBackgroundColor:[UIColor clearColor]];

    [popup addSubview:dateTable];

    dateTable.delegate=self;

    dateTable.dataSource=self;


    UIImageView *visitDatesLabel = [[UIImageView alloc]initWithFrame:CGRectMake(70, 122, 148, 30)];

    [visitDatesLabel setImage:[UIImage imageNamed:@"en_son_ziyaret"]];

    [popup addSubview:visitDatesLabel];

    UIImageView *line = [[UIImageView alloc]initWithFrame:CGRectMake(49.5, 160, 200, 2)];

    [line setImage:[UIImage imageNamed:@"ust_cizgi"]];

    [popup addSubview:line];

    UIImageView *line2 = [[UIImageView alloc]initWithFrame:CGRectMake(270.5, 160, 540, 2)];

    [line2 setImage:[UIImage imageNamed:@"ust_cizgi"]];

    [popup addSubview:line2];

    UIImageView *productsDatesLabel = [[UIImageView alloc]initWithFrame:CGRectMake(300, 122, 102, 29)];

    [productsDatesLabel setImage:[UIImage imageNamed:@"urunler"]];

    [popup addSubview:productsDatesLabel];

    UIImageView *verticalLine = [[UIImageView alloc]initWithFrame:CGRectMake(430, 115, 2, 45)];

    [verticalLine setImage:[UIImage imageNamed:@"dikey_cizgi"]];

    [popup addSubview:verticalLine];

    UILabel *firstMonth = [[UILabel alloc]initWithFrame:CGRectMake(455, 126, 148, 30)];

    [firstMonth setBackgroundColor:[UIColor clearColor]];

    [firstMonth setText:@"OCAK"];

    [firstMonth setFont:[UIFont fontWithName:@"Arial-BoldMT" size:12]];

    [firstMonth setTextColor:[UIColor grayColor]];

    [popup addSubview:firstMonth];


    UILabel *secondMonth = [[UILabel alloc]initWithFrame:CGRectMake(455+75, 126, 148, 30)];

    [secondMonth setBackgroundColor:[UIColor clearColor]];

    [secondMonth setText:@"ŞUBAT"];

    [secondMonth setFont:[UIFont fontWithName:@"Arial-BoldMT" size:12]];

    [secondMonth setTextColor:[UIColor grayColor]];

    [popup addSubview:secondMonth];

    UILabel *thirdMonth = [[UILabel alloc]initWithFrame:CGRectMake(455+75+75, 126, 148, 30)];

    [thirdMonth setBackgroundColor:[UIColor clearColor]];

    [thirdMonth setText:@"MART"];

    [thirdMonth setFont:[UIFont fontWithName:@"Arial-BoldMT" size:12]];

    [thirdMonth setTextColor:[UIColor grayColor]];

    [popup addSubview:thirdMonth];

    UILabel *rangeMonth = [[UILabel alloc]initWithFrame:CGRectMake(455+75+75+100, 126, 148, 30)];

    [rangeMonth setBackgroundColor:[UIColor clearColor]];

    [rangeMonth setText:@"OCAK-MART"];

    [rangeMonth setFont:[UIFont fontWithName:@"Arial-BoldMT" size:12]];

    [rangeMonth setTextColor:[UIColor grayColor]];

    [popup addSubview:rangeMonth];


    UIImageView *verticalLine2 = [[UIImageView alloc]initWithFrame:CGRectMake(510, 115, 2, 45)];

    [verticalLine2 setImage:[UIImage imageNamed:@"dikey_cizgi"]];

    [popup addSubview:verticalLine2];

    UIImageView *verticalLine3 = [[UIImageView alloc]initWithFrame:CGRectMake(590, 115, 2, 45)];

    [verticalLine3 setImage:[UIImage imageNamed:@"dikey_cizgi"]];

    [popup addSubview:verticalLine3];

    UIImageView *verticalLine4 = [[UIImageView alloc]initWithFrame:CGRectMake(670, 115, 2, 45)];

    [verticalLine4 setImage:[UIImage imageNamed:@"dikey_cizgi"]];

    [popup addSubview:verticalLine4];


    medSalesTable = [[UITableView alloc]initWithFrame:CGRectMake(270.5, 165, 540, 345)];

    medSalesTable.layer.cornerRadius = 10;

    [medSalesTable setBackgroundColor:[UIColor clearColor]];


    [popup addSubview:medSalesTable];

    medSalesTable.delegate=self;

    medSalesTable.dataSource=self;           
}
return self;
 }

-(void) closePopUp:(id)sender{

[self.view removeFromSuperview];

}

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 5;      
}

-(CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 50;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{ NSLog(@"cellForRowAtIndexPath");

if (tableView == dateTable)
{
    static NSString *CellIdentifier = @"VisitDateCell";


    VisitDateCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[VisitDateCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    [cell.lastVisit setText:@"fucker"];

    return cell;
}

else if(tableView == medSalesTable){
    static NSString *CellIdentifier2 = @"OrdersCell";


    OrdersCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier2];

    if (cell == nil) {
        cell = [[OrdersCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier2];
    }

    [cell.textLabel setText:@"fucker"];

    return cell;
}

}
@end

最佳答案

在您的datasource 方法中,您需要区分这两个表。

//cellForRowAtIndexPath

if (tableView == medSalesTable) {
   // configure the first table
}
else {
   // configure the second table
   // use a different cell identifier
}

如果需要,请确保在 numberOfRowsInSectionnumberOfSectionsInTableView 中也执行此操作。这假设您将两个 TableView datasource 属性设置为 Controller 。

关于ios - 2 具有不同自定义单元格的 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18010138/

相关文章:

ios - iPhone 6 和 iPhone 6 plus 中的单元格动态高度问题

Ios swift TableView Cell Label LineBreak 不工作......

ios - 无法从另一个应用程序 (iPhone) 中启动应用程序

ios - 无法接收 Google 移动添加

uitableview - fatal error : unexpectedly found nil while unwrapping an Optional value on table view cell

ios - Swift:使表格 View 明显可滚动

iphone - 按下 "Done/Return"按钮时如何隐藏文本框键盘 Xcode 4.2

javascript - 移动版 Safari : iframed form "next-input" on dropdown bug

swift - 自动删除 UITableView 中的行 : Swift3

swift - tableView 中的自定义静态单元格与其他原型(prototype)单元格