1. ホーム
  2. ios

[解決済み] UITableViewでセパレータの幅をフルに設定する方法

2022-04-28 03:27:15

質問

私は UITableView セパレータの幅が足りません。左側から10ピクセルほど手前で終わっています。このコードを viewDidLoad() .

self.tableView.layoutMargins = UIEdgeInsetsZero;

また、ストーリーボードでは、カスタムまたはデフォルトのセレクタを選択することができます。これで、入力されているすべてのセルにはフル幅のセレクタがありませんが、空のセルにはフル幅のセレクタがあります。

どうすれば直せますか?

解決方法は?

この投稿で答えを得ました。 iOS 8 UITableViewのセパレータインセット0が機能しない

このコードを UITableViewController

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
        [cell setSeparatorInset:UIEdgeInsetsZero];
    }

    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        [cell setLayoutMargins:UIEdgeInsetsZero];
    }
}

-(void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
    if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
        [self.tableView setSeparatorInset:UIEdgeInsetsZero];
    }

    if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
        [self.tableView setLayoutMargins:UIEdgeInsetsZero];
    }
}