与UITableViewCell中的IBOutlet属性相关联的视图无法更改帧

时间:2014-10-10 04:09:39

标签: objective-c uitableview storyboard layoutsubviews

我有一个A类,UITableViewCell的子类,只是将其IBOutlet属性titleLabel链接到故事板中的UILabel。但似乎我无法改变titleLabel的框架。

- (void)awakeFromNib
{
    [super awakeFromNib];
    self.titleLabel.frame = CGRectMake(10.f, 20.f, 100.f, 25.f);
}

并执行- (void)layoutSubviews中的代码,但无效。

在设备上运行的应用中轻触Cell时,位置发生了变化,我使用代码创建titleLabel,更改框架,然后就可以了。

任何人都可以帮助我..

1 个答案:

答案 0 :(得分:1)

解决了以下问题:

首先为视图添加约束,然后将约束属性(Leading,Trailing,Top,Bottom ...)与源文件连接起来,创建@IBOutlet属性变量。

第二次修改了- (void)updateConstraints

中约束的值
- (void)updateConstraints
{
    [super updateConstraints];
    self.titleLabelHeight.constant = 100.f;
    self.titleLabelLeading.constant = 20.f;
    //...
}