簡體   English   中英

UITableViewRowAction 的圖標顯示在 iOS 13 上,但不在 iOS 12 上

[英]Icon for UITableViewRowAction is shown on iOS 13, but not on iOS 12

好的,我遇到了UITableViewRowAction的奇怪行為(錯誤)。 我正在嘗試向左滑動操作添加圖標。 Bellow 是我在表視圖委托的tableView(_:trailingSwipeActionsConfigurationForRowAt:)方法中設置圖標的代碼(action 是UIContextualAction的一個實例):

action.image = UIGraphicsImageRenderer(size: Constants.swipeActionImageSize)
        .image(actions: { _ in
            Constants.messageReplyIcon.draw(in: CGRect(origin: .zero,
                                                       size: Constants.swipeActionImageSize))
    })

我正在使用此解決方案,因為需要稍微調整圖像大小。 這在 iOS 13 上運行良好,但在 iOS 12 上(實際上,在 iOS 12.2 上運行),它將圖像呈現為白色圓圈。 下面,你可以看到iOS 13模擬器和iOS 12.2模擬器上的圖標截圖一個接一個。

iOS 13

在此處輸入圖像描述

iOS 12.2

在此處輸入圖像描述

請注意,即使我只是簡單地設置圖像,而沒有做所有花哨的調整大小的事情,也會發生這種情況。

但是,當我在 iOS 12 上查看 UI 調試器中的圖像時,我看到以下內容:

在此處輸入圖像描述

我懷疑, UIContextualAction對 iOS 12 上的圖標應用了一些淡色,但不知道為什么,因此找不到解決方案。

也許,你遇到過這樣的事情,或者對原因有什么想法? 提前致謝。

舊版本UIContextualAction上的 UIContextualAction 將圖像轉換為將被塗成白色的模板。 盡管文檔沒有說明任何內容。

查看模板:

暫無
暫無

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

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