首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >带图像的自定义UISwitch

带图像的自定义UISwitch
EN

Stack Overflow用户
提问于 2013-04-29 22:51:35
回答 3查看 37.6K关注 0票数 27

我需要在一个项目中实现一个自定义开关。目前我所发现的是,我们不能在实现方式中使用UISwitch进行更改,如下图所示。我关注了帖子,用谷歌搜索了stackoverflow和其他博客,但没有找到理想的解决方案。一种方法是使用this post中的UISegmented控件,但这也不能解决我的问题。

提前感谢您的帮助

EN

回答 3

Stack Overflow用户

发布于 2013-04-29 22:59:18

正如gasparuff所说,你也可以用UIButton来做这件事,只需设置图像:

代码语言:javascript
复制
[button setImage:[UIImage imageNamed:@"image_on"] forState:UIControlStateSelected];
[button setImage:[UIImage imageNamed:@"image_off"] forState:UIControlStateNormal];

当它被点击时,只需切换选定的属性。

代码语言:javascript
复制
- (void) buttonTap {
    button.selected = !button.selected;
}

这将自动改变图像。

票数 26
EN

Stack Overflow用户

发布于 2013-06-28 01:39:03

你知道-[UISwitch setOnImage:]-[UISwitch setOffImage:],对吧?还有-[UISwitch setTintColor]。我能看到的唯一缺点是,交换机本身将是标准的iOS交换机(圆形按钮),但除此之外,这将是最像iOS的解决方案。

在实现自己的on/offImage时,请记住大小限制,并且图像朝向开关的一侧是凹面。tintColor可用于使开关的其余部分反映您的配色方案。您可能希望跟踪valueChanged事件,因此更改色调颜色。

如果您需要在问题中显示的确切外观(方形开关按钮),那么您可能希望使用自定义控件,如@Caleb建议的那样。

票数 2
EN

Stack Overflow用户

发布于 2013-04-29 22:55:47

看起来你只是想让你的控件只有两种状态--启用和禁用。

一种简单的方法是创建2个png图像,并使用自定义的UIButton与背景图像,只需替换这2个图像每次点击按钮。

这是你想要做的,还是我误解了什么?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16281735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档