iOS設定分割線枠線の先端から
1604 ワード
良い方法は、もともとxibの中にカスタム分割線の位置を設定して、結果はやはり15画素差があって、この方法は親測して使いやすいです。
IOS 8 Table View Separatorinset分割線を設定して枠線先端から(回転)
ios 8上[TableView setSeparatorInset:UIedgeInsetsMake(0,0,0)];役に立たないテストは以下の方法を加えてios 7 8の上ですべて正常に動作することができます -(void)viewDidLayoutSubviews
{
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[self.tableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];
}
if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
[self.tableView setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];
}
}
-(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];
}
}
余った横線の場合、フルスクリーンが表示されないと横線が表示されます.
に設定するだけ
UITableViewStyleGrouped
ios 8上[TableView setSeparatorInset:UIedgeInsetsMake(0,0,0)];役に立たないテストは以下の方法を加えてios 7 8の上ですべて正常に動作することができます
-(void)viewDidLayoutSubviews
{
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
[self.tableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];
}
if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
[self.tableView setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];
}
}
-(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];
}
}
余った横線の場合、フルスクリーンが表示されないと横線が表示されます.
に設定するだけ
UITableViewStyleGrouped