zoukankan      html  css  js  c++  java
  • iOS8 UITableView 分割条设置separator intent = 0 不起作用

    转自:http://blog.csdn.net/ljb_wh/article/details/40788333

    ios7的时候在storyboard 设置 TableView的separator intend = 0 可以让tableview的分割条顶到头。

    但是,升级了iOS8时,发现不起作用了。

    经过google,在 stackoverflow 发现了答案

    翻译纪录一下

    iOS8 在cell和tableview中都引入了layoutMargins属性,而且这个属性在iOS 7中并没有,所以你需要区别对待这两个版本。

    使用 Ricky 的方案设置cell中的layoutMargin属性:

    -(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];
        }

       //按照作者最后的意思还要加上下面这一段

        if([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]){

           [cell setPreservesSuperviewLayoutMargins:NO];

       }


    }

    你还需要在tableview中设置同样的属性. 通过多次试验,我发现你可以在viewDidLayoutSubviews.中设置这个属性

    把下面代码拷贝到你的view的实现中

    -(void)viewDidLayoutSubviews
    {
        [super viewDidLayoutSubviews];

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

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

    这样,在ios7,ios8中都可以实现分割条顶头的需求了。(译者:ios6缺省是顶头的,因此这个方案可以适用于ios6-8).

    Edit: 按照  @bffmike 在 Twitter 上所说, 你可能还需要在cell中设置 preservesSuperviewLayoutMargins=NO .  再次说明:每个人的情况因人而异.

  • 相关阅读:
    此网站的安全证书有问题
    WebBrowser控件打开https站点
    C# 调Win32 API SendMessage简单用法及wMsg常量
    sendmessage和postmessage的区别
    C# 使用Win32 API模拟键盘鼠标操作网页
    WebBrowser控件跨域访问页面内容
    获取webbrowser中元素的屏幕坐标
    一行js代码识别Selenium+Webdriver及其应对方案
    用Selenium自动化测试时,让ChromeDriver中不显示“正受到自动测试软件控制”
    Java Selenium Actions模拟鼠标拖动dragAndDrop总结
  • 原文地址:https://www.cnblogs.com/yangmx/p/4121234.html
Copyright © 2011-2022 走看看