如何使用 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的主要内容,如果未能解决你的问题,请参考以下文章

ImageView控件的使用

android如何实现imageview默认是灰色,被点击后变成蓝色,(详情请看图片)并保持是蓝色

WebView仿原生app页面切换效果

android中ImageView怎么实现两个图片切换时的动画 就像两个Activity之间的overridePendingTransition一样

transitiondrawable ImageVIew切换动画

ImageView 没有正确更新