- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
所以我对整个 UIAppearance 做事的方法相当陌生,而且做起来很快。为没有大量文档而欢呼吧。
我正在尝试通过 UIAppearance 设置我的边界半径,方法如下:
CircleButton.appearance.roundBorderRadius = 9
我的 CircleButton 类实现:
public class CircleButton : UIButton{
@nonobjc var roundBorderRadius: CGFloat? {
get { return self.layer.cornerRadius }
set {
self.layer.cornerRadius = newValue!
}
}
}
然后我将 Storyboard 中的所有内容都连接到包含 CircleButton 的 ViewController。没有编译或构建错误。
但是,在运行时我得到:
“线程 1:EXC_BAD_ACCESS”错误:
CircleButton.appearance.roundBorderRadius = 9
有什么建议吗?
最佳答案
删除@nonobjc
并添加dynamic
,然后将类型从CGFloat?
更改为CGFloat
并删除!
在 setter 中的 newValue
之后,像这样:
public class CircleButton: UIButton {
dynamic var roundBorderRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
}
}
}
关于ios - Swift 中的 UIAppearance 和圆角边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37550154/
我正在尝试更改我的应用程序的导航栏,但我无法弄清楚该代码的确切位置: [[UINavigationBar appearance] setTintColor:[UIColor colorWithPatt
我在通过 UIAppearance 自定义 UIToolbar 和 UISearchBar 方面时收到无法识别的选择器发送到实例错误。 奇怪的是,只在 6.1 或更低版本上崩溃,在 iOS7 上正常并
我正在使用新的 UIAppearance API,并通过我的 AppDelegate 成功地为所有 UINavigationBar 和 UIToolbar 实例设置了色调颜色,就像这样... - (v
我有一个 UIView 子类,我在我的应用程序(并且在第 3 方库中)中使用它来显示 toast 通知。我想为我正在开发的另一个应用程序稍微修改一下,所以我通过 UIAppearance 添加样式属性
我有一个在 titleBar 中带有 segmentedControl 的应用程序,它用于在 3 个导航 Controller 之间切换。我正在使用新的外观代理方法来设置此 segmentedCont
我有一个想法,我想尝试实现: 基本上,我希望能够轻松区分已登录和未登录我的应用程序。我的想法是,当用户未登录时,应用程序将在 UIAppearence 代理中设置背景颜色等。登录后,这些值将通过更改
我需要为我的应用程序中的所有单元格更改选定的单元格背景颜色。据我所知,有一种方法可以使用 UIAppearance为此目的的协议(protocol)。是否可以通过 UITableViewCell 的类
我正在创建一个自定义按钮,它有几个属性标记为 UI_APPEARANCE_SELECTOR .如何通过外观代理检测属性何时更改?不调用属性 setter 。 该属性确实发生了变化,因为它在 drawR
我注意到在 iOS5 中我们可以通过 UIAppearance 自定义 UIKit 控件,我开始使用它。 我想使用appearanceWhenContainedIn:在不同的类中自定义UINaviga
我正在尝试使用 UIAppearance() 在自定义类上应用样式 class MainStyleButton: UIButton {} 带有代码: let buttonView = MainStyl
我目前正在使用外观代理对象来自定义我的应用程序界面。 我想知道是否可以将自定义效果限制在特定 View Controller 内的元素。 换句话说,我可以使用 [UINavigatioBar appe
基本上,我在阅读有关 UIAppearance 的内容后重构应用程序。我的大部分 UI 更改都在 Storyboard或 viewDidLoad 中进行,自定义每个控件是一件很痛苦的事情。 我有一个单
出于某种原因,当我将背景图像应用到 UIBarButtonItem 时,它会使角变成尖锐的矩形。如何使用 UIAppearance 解决这个问题? // bar button id barB
更新 Matt 正确地指出我的原始项目在状态恢复方面存在错误。但是,即使在删除它之后,只要我在导航 Controller 中使用 TableView 并尝试设置 UINavigationBar 的 i
我想为我正在创建的应用程序添加主题。只需在 2 种颜色之间切换,我希望导航栏、工具栏等以所选颜色显示。 当应用首次加载时,我在 AppDelegate 的 didFinishLaunchingWith
请你解释一下,使用 UIAppearance 代理对象自定义我的 UIView 子类属性而不是创建 setter 方法来提供所需的属性有什么好处默认值类似于以下代码示例: @interface Cus
我的 Storyboard 中的标签通过 IBOutlet 连接到我的 View Controller 我已经如下扩展了 UILabel extension UILabel { func wi
有什么方法可以使用 UIAppearance 更改 UINavigationBar 内标签的高度。这是代码和正在发生的事情的图像,以便您了解问题所在。 [[UINavigationBar appear
我们为客户提供了一个静态库,允许他们显示我们的 View Controller 。我们使用 UIAppearance 来设置我们的 UIViewController 的样式。 但是,使用 UIAppe
来自 Apple 关于 UIAppearance 的文档: To customize the appearances for instances of a class contained within
我是一名优秀的程序员,十分优秀!