UITableView无法在iPad上正常显示

时间:2016-10-19 16:30:54

标签: ios objective-c ipad ios-simulator xcode8

在iPhone上,tableview看起来不错,但是在iPad(模拟器ios10)中,这就是它的显示方式:

点击此处查看图片:http://welove.pt/img/ipadtrouble.png

知道为什么它在iPhone / iPad上的显示方式不同? 此外,搜索图标的白色角落是什么?为什么不是黑色?

viewDidLoad中:

_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) style:UITableViewStyleGrouped];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.backgroundColor = [UIColor clearColor];
_tableView.separatorColor = [UIColor colorWithRed:58/255.0 green:58/255.0 blue:58/255.0 alpha:1.0];
_tableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0);
_tableView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
[self.view addSubview:_tableView];

的cellForRowAtIndexPath:

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

    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
        UIView *selectionColor = [[UIView alloc] init];
        selectionColor.backgroundColor = [UIColor colorWithRed:(54/255.0) green:(54/255.0) blue:(54/255.0) alpha:1];
        cell.selectedBackgroundView = selectionColor;
        cell.backgroundColor = [UIColor colorWithRed:(28/255.0) green:(28/255.0) blue:(28/255.0) alpha:1];
        cell.textLabel.textColor = [UIColor whiteColor];
    }

    if (indexPath.section == 0) {
        cell.imageView.image = [[UIImage imageNamed:@"defineLocation.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
        UILabel *ttitle = [[UILabel alloc] initWithFrame:CGRectMake(46, 12, 320, 20)];
        ttitle.font = [UIFont systemFontOfSize:17];
        ttitle.textColor = [UIColor colorWithRed:(115/255.0) green:(229/255.0) blue:(69/255.0) alpha:1.0];
        [ttitle setText:NSLocalizedString(@"current_location", nil)];
        [cell.contentView addSubview:ttitle];
    } else {
        cell.textLabel.text = [[_recentSearchData objectAtIndex:indexPath.row] objectForKey:@"recentTitle"];
    }

    return cell;
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

对UITableViewCell进行子类化解决了对齐问题。

关于在iPad上弹出视图时的白色箭头,我设法改变了它的颜色:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.navigationController.popoverPresentationController.backgroundColor = [UIColor colorWithRed:(23/255.0) green:(23/255.0) blue:(23/255.0) alpha:1.0];
}

此viewWillAppear属于弹出窗口中显示的UITableViewController。

感谢您的建议