iOS:如何在按钮中显示阴影图像?

     2023-03-13     247

关键词:

【中文标题】iOS:如何在按钮中显示阴影图像?【英文标题】:iOS: How to show a shadow image in a button? 【发布时间】:2019-11-25 15:51:05 【问题描述】:

我的设计师给我发了一个带有阴影的按钮图像,这很复杂,所以我需要使用按钮图像而不是自己实现阴影。例如,可点击的红色区域为20*20,带阴影的整张图片为60*60。红色区域不在图像的中心。

问题是我想做一个 20*20 的按钮,它可以显示整个图像。

我正在使用的工具是将 UIImageView (size=60*60) 添加到按钮 (size=20*20) 中。还有其他方法吗?我认为有一种方法可以只使用图像和按钮而无需额外的 UIImageView

【问题讨论】:

......***.com/a/32468101/1101930 【参考方案1】:

这是一个简单的例子:

func createView(x: CGFloat, y: CGFloat, width: CGFloat, height: CGFloat) 

        // creating the container view
        let view = UIView()
        view.frame = CGRect(x: x, y: y, width: width, height: height)
        view.backgroundColor = .systemRed

        // creating the image view, set the image to the one you want
        let imageView = UIImageView()
        imageView.frame = CGRect(x: 0, y: 0, width: width, height: height)
        let image = UIImage(named: "myImage")
        imageView.image = image

        // creating the button
        let button = UIButton() 
        button.frame = CGRect(x: 0, y: 0, width: width / 3, height: height / 3)
        button.backgroundColor = .systemBlue

        // adding a tap response functionality to the button
        button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)

        // adding the button and image view to the container
        view.addSubview(imageView)
        view.addSubview(button)

        //adding the container to the superview
        self.view.addSubview(view)

    

添加处理按钮点击的方法:

    @objc func buttonTapped() 
        // all the code for handling a tap goes here
        print("button tapped")
    

最后在viewDidLoad() 中调用createView()

override func viewDidLoad() 
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        createView(x: 100, y: 100, width: 60, height: 60)
    

需要注意的是,按钮和图像的 x 和 y 值并不是指超级视图的值,而是容器视图的值。

如果要添加阴影图像,它必须包含在 Assets.xcassets 文件夹中。从那里,您只需将名称更改为图像的名称即可上传。

【讨论】:

在 iOS 中应用模糊滤镜时如何从图像中删除黑色阴影矩形?

】在iOS中应用模糊滤镜时如何从图像中删除黑色阴影矩形?【英文标题】:HowtoRemoveBlackShadowRectanglefromImagewhenApplyingBlurFilteriniOS?【发布时间】:2018-08-0715:20:00【问题描述】:我想在应用模糊滤镜时移除图像周围的黑色阴影边框。... 查看详情

如何设置标签栏图像颜色ios按钮?

】如何设置标签栏图像颜色ios按钮?【英文标题】:Howtosettabbarimagecoloriosbutton?【发布时间】:2013-05-1609:36:21【问题描述】:我创建了一个4按钮,如标签栏,但图像显示为彩色,我需要将图像显示为标签栏图像颜色(灰色)。谢... 查看详情

如何删除 ios 14 的导航栏图像阴影? [关闭]

】如何删除ios14的导航栏图像阴影?[关闭]【英文标题】:Howtoremovenavigationbarimageshadowforios14?[closed]【发布时间】:2020-11-3010:22:03【问题描述】:enterimagedescriptionhere我在目标c中面临ios版本问题。导航栏图像阴影在ios14版本中不起作... 查看详情

如何在 ios 中添加一组应在单击按钮时更改的图像? [关闭]

】如何在ios中添加一组应在单击按钮时更改的图像?[关闭]【英文标题】:Howtoaddanarrayofimagesinioswhichshouldchangeonbuttonclick?[closed]【发布时间】:2013-12-1311:38:38【问题描述】:在我的应用程序中,我有一个图像视图和两个按钮,我想... 查看详情

iOS:如何在静态图像上添加动态按钮?

】iOS:如何在静态图像上添加动态按钮?【英文标题】:iOS:Howtoadddynamicbuttonsoverstaticimages?【发布时间】:2012-10-1121:01:09【问题描述】:我最近继承了一个iPad项目,它基本上是一个图像/演示文稿查看器。选择用户希望查看的演示... 查看详情

如何在 UIImageView iOS 上设置阴影渐变图像

】如何在UIImageViewiOS上设置阴影渐变图像【英文标题】:HowtosetshadowgradientimageonUIImageViewiOS【发布时间】:2014-07-2112:09:57【问题描述】:嘿,我是iPhone新手,我一直在尝试使用阴影渐变图像为UIImageView设置阴影,即使用以下代码的... 查看详情

在 CGContext 中渲染 UIImage 不显示图像的阴影

】在CGContext中渲染UIImage不显示图像的阴影【英文标题】:RenderingUIImageinCGContextdoesn\'tshowimage\'sshadow【发布时间】:2020-05-2616:13:43【问题描述】:我正在尝试从UIImageView获取图像,包括它的图层属性(阴影和边框);但是我没有在... 查看详情

如何使带有自定义背景图像的按钮在Android中显示点击动画

】如何使带有自定义背景图像的按钮在Android中显示点击动画【英文标题】:HowtomakebuttonwithcustombackgroundimageshowclickanimationinAndroid【发布时间】:2011-02-0817:07:45【问题描述】:对于在Android中使用自定义背景图像的按钮,如何使按钮... 查看详情

长按手势在 UIButton 中显示图像

...图标设置为图像。我有一个长按识别器连接到每个按钮。如何在长按手势的发件人按钮上显示较小的删除图标?我的目标是创建当用户想要删除特定应用程序时iOS呈现的行为。这是按钮的 查看详情

如何在图像中找到明亮区域(以及如何在图像中找到阴影区域)

】如何在图像中找到明亮区域(以及如何在图像中找到阴影区域)【英文标题】:Howtofindbrightareasinsideanimage(andalsohowtofindshadedareasinanimage)【发布时间】:2019-07-3109:31:38【问题描述】:我有一张图片:如何在图像中找到不同强度的... 查看详情

如何在android小部件中单击图像按钮显示吐司

】如何在android小部件中单击图像按钮显示吐司【英文标题】:Howtodisplayatoastonimagebuttonclickinandroidwidget【发布时间】:2017-06-2923:37:30【问题描述】:我正在创建一个有按钮的小部件!当我点击一个按钮时。它只是读取我的位置并... 查看详情

带有自定义阴影图像的 UIButton

...述】:我需要像这样实现我的按钮的效果:我的问题是:如何将此自定义阴影添加到按钮,这样只有“按钮”表面才会对触摸做出反应?当我在底部有下一个按钮,靠近上一个按钮时,我如何确定它不会被上一个按钮阴影覆盖?... 查看详情

如何单击图像按钮并将其显示在 Android Studio 的新页面中?

】如何单击图像按钮并将其显示在AndroidStudio的新页面中?【英文标题】:HowtoclickanimagebuttonandhaveitappearinanewpageinAndroidStudio?【发布时间】:2015-05-1707:52:21【问题描述】:我试图拥有一系列imageButtons,当单击一个时,它会将用户发... 查看详情

如何在 iOS 13 中全局设置栏按钮项背景图像

】如何在iOS13中全局设置栏按钮项背景图像【英文标题】:HowtosetbarbuttonitembackgroundimagegloballyiniOS13【发布时间】:2019-08-0820:04:29【问题描述】:iOS13有一套全新的类用于配置导航栏和栏按钮项:UIBar外观UINavigationBarAppearanceUIBarButton... 查看详情

iOS 如何从 UISlider 中删除发光/阴影

】iOS如何从UISlider中删除发光/阴影【英文标题】:iOSHowdoIremoveglow/shadowfromUISlider【发布时间】:2016-04-2300:20:55【问题描述】:如何从这个UISlider中移除发光/阴影?【问题讨论】:【参考方案1】:事实证明,我需要做的只是设置一... 查看详情

如何使用带有 Streamlit 的按钮显示文件夹中的图像?

】如何使用带有Streamlit的按钮显示文件夹中的图像?【英文标题】:HowtodisplayimagefromafolderusingbuttonwithStreamlit?【发布时间】:2020-11-1015:25:46【问题描述】:我想使用按钮在我的流光网络应用中显示图像。因此,每当用户单击按钮... 查看详情

使用 Xcode 5 时按钮图像不显示

】使用Xcode5时按钮图像不显示【英文标题】:ButtonImagesDon\'tShowWhenUsingXcode5【发布时间】:2013-12-1814:54:41【问题描述】:我有几个按钮,每个按钮都分配有图像。在使用iOS6SDK的Xcode4.6中,它们的显示效果应该不错。将Xcode5与iOS7SDK... 查看详情

如何仅在某些行上显示图像按钮

】如何仅在某些行上显示图像按钮【英文标题】:Howtoshowanimagebuttononlyoncertainrows【发布时间】:2014-04-1904:07:54【问题描述】:我有一个带有自定义适配器的ListView。我想根据列表中的条件设置每一行ImageButton的可见性。但是,这... 查看详情