【发布时间】:2013-07-10 11:59:45
【问题描述】:
我想创建一个非常简单的 UIButton 子类来添加一些额外的功能,但是当我在情节提要上使用它时,我的按钮边框似乎消失了。
经过一些测试,似乎使用 any 自定义 UIButton 子类具有这种效果,即使是完全空的接口和实现。
它很容易重现。请尝试以下步骤:
1) 创建一个新的单视图应用程序
2) 在情节提要的视图中间添加一个 UIButton
3)在模拟器中运行。
您应该看到一个带有边框的 UIButton,正如预期的那样。现在...
4) 创建一个名为 SomeUIButtonClass 的 UIButton 子类,其接口声明为空,实现为空,如下所示:
SomeUIButtonSubclass.h:
#import <UIKit/UIKit.h>
@interface SomeUIButtonSubclass : UIButton
@end
SomeUIButtonSubclass.m:
#import "SomeUIButtonSubclass.h"
@implementation SomeUIButtonSubclass
@end
5) 在情节提要上,选择您之前添加的按钮,然后在 Identity Inspector 中的 Custom Class 下,将 Class 设置为 SomeUIButtonSubclass。
6) 再次在模拟器中运行。
你会看到一个没有边框的按钮。
我已经习惯了疯狂的 iOS 开发,但这比平时更疯狂。
为什么会发生这种情况,我需要做些什么来防止它发生?
【问题讨论】:
-
那么你需要告诉按钮是什么类型的按钮......
-
您必须在 SomeUIButtonSubclass 中设置按钮的属性,例如边框、边框宽度等。
-
@Unicorn 为什么?是否需要为 UIButton 的子类显式设置仅在使用基类时才具有默认值的东西?如果是这样,那些东西是什么(以及它们在哪里记录)?我看不出按钮的现有属性、属性或行为应该因为它是 UIButton 的(空)子类而改变的任何原因 - 我错过了什么吗?
-
@Desdenova 太棒了,谢谢。这就是答案。
标签: ios uibutton uikit uistoryboard