【问题标题】:Set UIFont for a UILabel in UITableViewCell subclass在 UITableViewCell 子类中为 UILabel 设置 UIFont
【发布时间】:2013-07-09 04:05:36
【问题描述】:

是否建议在layoutSubviews 中设置UILabelUIFont。我正在继承UITableViewCell。如果需要,我们使用layoutSubview 调整UIView 框架,所以我不确定是否应该使用它。

另外,有没有像viewDidLoad这样的方法,它只会被调用一次。

我厌倦了在initWithCoder 中设置字体,但UILabel 中的IBOutletinitWithCoder 中为空。

我可以在cellForRowAtIndexPath 中设置UILabel 文本,因此与此自定义UILabel 的连接是正确的。

注意:- 单元格是从 UIStoryboard 中的 UIViewController 初始化的。

【问题讨论】:

    标签: uitableview uifont layoutsubviews


    【解决方案1】:

    您应该只在layoutSubviews 中布局您的视图。 UITableViewCellUIView 的子类,所以你可以在这里设置你的属性:

    - (void) awakeFromNib {
        self.myLabel.text = @"my text";    
    }
    

    【讨论】:

    • 谢谢。在编辑 UILable 的任何属性(如文本或字体)之前,是否需要调用 [super awakeFromNib]。
    • 好问题。在这种情况下,您不需要调用 super。你可以在这里看到一些示例代码,虽然有些东西是特定于 Mac 的:developer.apple.com/library/mac/#documentation/cocoa/Reference/…
    • 谢谢,url 帮助我理解了我的查询。如果父类是 UIView 或 NSObject,则不需要调用 super。对于其他人,如果父类没有实现 -(void) awakeFromNib,则会抛出异常。为了避免这种情况,可以使用instancesRespondToSelector 执行检查:。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    • 2018-01-28
    相关资源
    最近更新 更多