V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chillwind
V2EX  ›  iOS

iPhone xs max 上一像素线闪动

  •  
  •   chillwind · 2018-10-16 10:46:32 +08:00 · 3387 次点击
    这是一个创建于 2266 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1 像素线的标准做法,但是在 iphone xs max 上闪动,有人遇到过吗?

    代码如下:

    #define SINGLE_LINE_WIDTH           (1 / [UIScreen mainScreen].scale)
    #define SINGLE_LINE_ADJUST_OFFSET   ((1 / [UIScreen mainScreen].scale) / 2)
    
    
    UIView *cellHeadLine = [[UIView alloc] initWithFrame:CGRectMake(cell.bounds.origin.x, cell.bounds.origin.y - SINGLE_LINE_ADJUST_OFFSET, cell.bounds.size.width, SINGLE_LINE_WIDTH)];
            cellHeadLine.backgroundColor = [UIColor colorGreyBorder];
            [cell addSubview:cellHeadLine];
    
    3 条回复    2018-10-17 10:00:27 +08:00
    jjxtrotter
        1
    jjxtrotter  
       2018-10-16 11:57:25 +08:00 via iPhone
    可能和 xs oled 像素排列方式有关?
    试试 lcd 的 iPhone
    mcluyu
        2
    mcluyu  
       2018-10-16 18:04:26 +08:00
    SINGLE_LINE_ADJUST_OFFSET 类型改为浮点试试,很久之前就有这种问题了,每次屏幕的 dpi 升级貌似都会有,好像和你设置的值有关系,屏幕无法显示半个像素
    CommandZi
        3
    CommandZi  
       2018-10-17 10:00:27 +08:00
    为什么 y 要减 SINGLE_LINE_ADJUST_OFFSET ?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2600 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 03:41 · PVG 11:41 · LAX 19:41 · JFK 22:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.