iOS:将两个 UIButton 合并为一个 UIButton

标签 ios iphone objective-c uibutton storyboard

在 Storyboard上我有两个 UIButton。在我的 UIViewController 子类中,我有一个用于此按钮的 IBAction 方法。其中一个按钮有图像但没有标题,另一个按钮有标题但没有图像。因此,它只是一个充当按钮和普通按钮的图像。

这两个按钮都调用一个方法。问题是,如果我按下一个按钮,另一个按钮不会突出显示。这个按钮有填充的另一个问题,如果这个填充是可触摸的,对我来说会更好(我的意思是图像按钮和标题按钮之间的空间是可点击的)。

我知道我可以继承 UIButton 并根据需要制作我的按钮,但也许有一种方法可以在不继承的情况下制作我想要的东西?

谢谢。

最佳答案

1)

将两个按钮分配给属性。

当 IBAction 触发时,您可以通过这些控件将一个或两个按钮设置为突出显示 "highlighted" properties , 或 via setHighlighted: .

2)

至于使按钮之间的空间可触摸,将按钮图形的对齐方式设置为左对齐或右对齐(后者是我在下面的示例中所做的),这两个单独的按钮具有相互接触的边缘。

Two Buttons Touching

3) 或者...

您可以作弊,只需一个按钮,并在图像和按钮文本之间放置一些空间,如下所示:

One Button 是的,在“按钮”一词之前有一大堆空格(我已用绿色突出显示)。

关于iOS:将两个 UIButton 合并为一个 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22623025/

相关文章:

ios - iOS 中的本地通知无需运行应用程序

ios - 使用 panGestureRecognizer 进行滑出 View 时获取 "unexpectedly found nil while unwrapping an Optional value"

ios - 无法使用 MPMoviePlayerController 从视频中获取多个图像。操作系统状态 -12433

iphone - 如何本地化自定义“完成”按钮

iphone - MPMoviePlayerController 在 ipad 应用程序中使用的一些问题

iphone - 如何从 iPhone 查看日志?

iphone - 检测邮件链接并按下时,在应用程序中邮寄地址

objective-c - UIScrollView 在拖动和点击之间做出决定

objective-c - 如何覆盖 webView 可以处理的重定向数量。 Obj-C, cocoa

objective-c - cocoa block 作为强指针与复制