2014年12月09日

[iOS] iOS8でUITableViewのセルどうしの境目で左側が切れるときの対処

iOS8でUITableViewを使っているときに、セルの境目の左側が15pxほど切れるのはデフォルトらしいということを知ったのですが、それでも画面左まで目一杯線を引きたいときの対処。

UITableViewの記載ルールについては割愛してます。

- (void)viewDidLoad {
...
// セパレーターの左端が切れないように
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[self.tableView setSeparatorInset:UIEdgeInsetsZero];
}
self.tableView.separatorInset = UIEdgeInsetsZero;
if ([self.tableView respondsToSelector:@selector(layoutMargins)]) {
self.tableView.layoutMargins = UIEdgeInsetsZero;
}
...
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
// セパレーターの左端が切れないように
if ([cell respondsToSelector:@selector(separatorInset)]) {
cell.separatorInset = UIEdgeInsetsZero;
}
if ([cell respondsToSelector:@selector(preservesSuperviewLayoutMargins)]) {
cell.preservesSuperviewLayoutMargins = false;
}
if ([cell respondsToSelector:@selector(layoutMargins)]) {
cell.layoutMargins = UIEdgeInsetsZero;
}
...
}

参考:
http://dev.classmethod.jp/smartphone/iphone/ios-8-uitableview-layoutmargins/

これで少しハマった。。。
posted by be-style at 09:08| Comment(0) | Android