如何使用 Imageview 实现切换行为,没有 UIButton
Posted
技术标签:
【中文标题】如何使用 Imageview 实现切换行为,没有 UIButton【英文标题】:how to implement toggle behavior using Imageview, no UIButton 【发布时间】:2012-12-27 21:17:15 【问题描述】:我必须实现一个类似于切换的行为来区分两种状态,客户端不想要 UIbuttons 因为他有自己的 png 并希望使用它们。 所以我需要将 UIImageViews 彼此相邻。 我说的是 UIImageviews,因为客户端想要的切换行为应该是滑动的,因为用户在控件中有两个选项(如开/关),他将 UI 从开到关或从关到开,我是给定 4 个 png:2 个用于开启状态(正常和沮丧),2 个用于关闭状态(正常和沮丧)。
我也研究了 UISwitch,但再次以我想要的方式自定义它看起来很麻烦,有什么想法吗?
【问题讨论】:
为什么不在 UIButtons 上设置这些 png? 因为他想要的切换行为应该是滑动的,因为用户在控件中有两个选项(如开/关),他将 UI 从开滑到关,或从关滑到开,我得到了 4 个 png:2 个用于开启状态(正常和沮丧),2 个用于关闭状态(正常和沮丧)。 【参考方案1】:您可以通过这种方式实现客户想要的:
UIButton *nameOfButton = [UIButton buttonWithType:UIButtonTypeCustom];
[nameOfButton setImage:[UIImage imageNamed:nameOfYourClientsPNGFiles] forState:UIControlStateNormal];
[nameOfButton addTarget:self action:@selector(actionForButton) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:nameOfButton];
//注意,所有的词都要替换成你的方法和指针是什么。
此外,如果您的客户 PNG 文件不是传统的方形图像,我强烈建议您查看此自定义类:-)
OBShapedButton
解决了用户只能tab和点击图片形状的问题。
【讨论】:
以上是关于如何使用 Imageview 实现切换行为,没有 UIButton的主要内容,如果未能解决你的问题,请参考以下文章
android如何实现imageview默认是灰色,被点击后变成蓝色,(详情请看图片)并保持是蓝色
android中ImageView怎么实现两个图片切换时的动画 就像两个Activity之间的overridePendingTransition一样