簡體   English   中英

SF 符號看起來扭曲

[英]SF Symbol looks distorted

在 UIButton 上使用新的 SF 符號時,我的 iPhone 8 上的符號似乎失真,而在 iPhone 11 模擬器上一切正常。 在 iPhone 8 上,符號似乎水平擠壓,使其太高。 我做了一個gif來說明這個問題。 gif 顯示了兩個轉換的屏幕截圖。 8 個中的一個和 11 個中的一個:

問題說明

還有其他人有這個問題嗎? 這里發生了什么?

編輯:

IB 屬性。 Button 被限制為包含視圖的所有邊緣。

編輯#2:為符號指定字體並縮放“大”時,符號的大小正確。 我嘗試了 SystemFont“標題”。

IB 屬性

在代碼中在按鈕的圖像視圖上設置內容模式似乎可以解決問題。

button.imageView?.contentMode = .scaleAspectFit

下面屏幕截圖中的信息圈是使用“info.circle.fill”SF 符號的 UIButton。

應用示例

我沒有嘗試所有符號,但看起來至少所有基於圓形的符號都有這個問題。

編輯:有關使用圖像視圖的 contentMode 的解決方法,請參閱fahlout 的答案

正如您所指出的,在字體大小為 17pt 的常規/中等大小下,某些符號未按預期呈現,並且某些形狀被扭曲。

一些觀察:

  • 這似乎只適用於 UIButton 渲染圖像的方式,UIImageView 不受影響。
  • 當增加字體大小/使用更大或更粗的符號變體時,問題將不太明顯或完全消失。 如果我不得不猜測我會說這是因為拙劣的渲染是由一些浮點數舍入誤差引起的,並且當比例較大時該誤差影響較小。

這是不同比例和大小的circle符號(綠色)的視覺比較,以及在 Photoshop 中覆蓋的參考圓圈(紅色):

在此處輸入圖像描述

  • 左:字體 = 標題; 比例=未指定; 重量 = 未指定
  • 中心:字體=正文; 比例=未指定; 重量 = 未指定
  • 右:字體 = 標題; 規模 = 大重量 = 未指定

我們可以在這里看到,在所有情況下,圓形符號都不是一個完美的圓形,並且它在水平方向上缺少一個或兩個像素(取決於字體大小)是完美的圓形。

我做了一個項目來顯示這個問題: https://github.com/guillaumealgis/UIButton-SFSymbol-Squided

不幸的是,我沒有很好的解決方案或解決這個問題的方法,因為它似乎是一個內部 UIKit 錯誤。

編輯:有關使用圖像視圖的 contentMode 的解決方法,請參閱fahlout 的答案

您還應該向 Apple 提交反饋,以增加修復此錯誤的機會! (我的是 FB7461981 蘋果人)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM