在运行时从 UI 按钮中删除图像?

问题描述 投票:0回答:5

我想删除 UIButton 的图像并在运行时用标题替换它。虽然我可以将标题添加到 UIButton,但无法删除图像。有人有什么建议吗?

iphone objective-c uibutton
5个回答
45
投票

就这样?

[myButton setImage:nil forState:UIControlStateNormal];


6
投票

您的图像必须是按钮的背景图像(否则您将看不到标题文本,我相信图像属性会覆盖标题属性)。所以你必须这样做:

[myButton setBackgroundImage:nil ...

6
投票

对于 Swift 3 用户

self.myButton.setImage(nil, for: .normal)

0
投票

如果您想在 2 个不同按钮中的两个不同图像之间切换:(即在导航栏中)

final private func adaptUI(){
            if self.presentsFlag{
                let imgP = UIImage(named: "present_checked")
                let imgA = UIImage(named: "absent")
                self.presentBtn.image = imgP
                self.absentBtn.image = imgA
            }else{
                let imgP = UIImage(named: "present")
                let imgA = UIImage(named: "absent_checked")
                self.presentBtn.image = imgP
                self.absentBtn.image = imgA
            }
    }

0
投票

在 iOS 17.4 中也遇到同样的问题:

 button.setImage(nil, for: .normal)

不起作用,图像仍然显示。 我通过这样做解决了这个问题:

button.setImage(UIImage(), for: .normal)

© www.soinside.com 2019 - 2024. All rights reserved.