- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我们扩展了 UILabel,以便能够为我们应用程序中给定标签类型的所有用途应用标准字体和颜色。例如。
@interface UILabelHeadingBold : UILabel
@end
在我们的 AppDelegate 中,我们像这样应用字体和颜色
[[UILabelHeadingBold appearance] setTextColor:<some color>];
[[UILabelHeadingBold appearance] setFont:<some font>];
在我们的 XIB 中添加 UILabel 时,我们现在可以选择类型为 UILabelHeadingBold 的类,并且它按预期工作。标签以正确的字体和颜色显示,如我们的 AppDelegate 中指定的那样。
但是,如果我们以编程方式创建标签,例如。
UILabelHeadingBold *headingLabel = [[UILabelHeadingBold alloc] initWithFrame:CGRectMake(10, 10, 100, 30)];
[self.mainView addSubview:headingLabel];
UILabel 没有应用预期的字体/颜色。我们必须手动应用这些属性。
有没有办法让 UIAppearance 对以编程方式创建的 UI 元素生效,或者它只在 XIB 中使用时才有效?
最佳答案
来自 Apple 文档:
To support appearance customization, a class must conform to the UIAppearanceContainer protocol and relevant accessor methods must be marked with UI_APPEARANCE_SELECTOR.
例如在UINavigationBar.h
中,tintColor
被标记为UI_APPEARANCE_SELECTOR
@property(nonatomic,retain) UIColor *tintColor UI_APPEARANCE_SELECTOR;
但是在 UILabel.h 中,您可以看到 textColor
和 font
属性没有用 UI_APPEARANCE_SELECTOR 标记,但是在 Interface Builder 中添加时它以某种方式起作用(遵循它的文档根本不应该工作)。
关于ios - UIAppearance 未对以编程方式创建的 UILabel 生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11308379/
我希望在通过 POST 方法发送数据后文本框消失。但我无法让 Javascript 工作。页面不断重新加载,因此文本框始终存在。 function puff() { if (document.get
我无法让 expand_aliases 在 bash 中生效。我尝试了很多不同的方法,但没有任何效果。 这是一个简单的测试用例: /bin/bash -c 'shopt -s expand_alias
我正在尝试查找 #include 位于 extern C block 内的所有位置。是否可以使用预处理器进行检查?我想在我的头文件中添加类似这样的内容: #ifdef EXTERN_C_IS_IN_E
我们扩展了 UILabel,以便能够为我们应用程序中给定标签类型的所有用途应用标准字体和颜色。例如。 @interface UILabelHeadingBold : UILabel @end 在我们的
案例1 我们正在尝试将自定义样式应用于渲染的 vuetify 元素: .input-group__input { background: red; } 但是没有任何变化。 案
我正在使用 symfony 1.4 和 sfGuardDoctrinePlugin,我已经安装并设置好了,但我遇到以下问题: 如果我以管理员身份登录并更新用户的权限,该用户必须注销然后重新登录才能获得
getElementsByTagName() 有 2 个很棒的特性:速度快且实时。但是,如果我想获得 p strong 怎么办。当然,我可以再次使用 getElementsByTagName() 优化
我有三个文件: spark_mock_dependency.py 提供了一个user() 方法来读取/etc/user, spark_mock.py 用于创建一个 Env 类,它使用 user() 方
我从 samples/bpf/pare_simple.c(来自 Linux 内核树)编译了 BPF 示例,做了非常简单的更改: SEC("simple") int handle_ingress(str
我有一个基本的树结构。容器可以水平滚动。我在所有 上都有正确的填充元素。但是,正确的填充没有生效。我该如何修复它才能生效? ul { height: 100%; margin: 0; p
我目前在使用 Ruby on Rails 上的 Assets 管道时遇到了一些问题。 我正在使用电子商务解决方案 (Spree),在文档中,文档中有这个: [...] you can improve
在我们非常庞大且非常复杂的 AngularJS 应用程序中,我注意到(偶然!)我的主模块设置中有这样一行... application.run(function($rootScope) { w
我发现重写getResources()后app第一次运行的activity也会对后面运行的activity生效,前提是你的手机字体特别大。 例如:执行以下步骤 将手机字体设置为巨无霸 创建两个名为 A
我正在尝试使用 KVO 来观察在我的页面 View Controller 的子内容 View Controller 的 ScrollView 中使用拖动时的更新变化,但是当应用程序启动时,它崩溃了说:
我是一名优秀的程序员,十分优秀!