UIView图层边界无法正确显示

时间:2014-02-22 19:55:10

标签: cocoa-touch calayer shadow

我有一个UIView,它的大小取决于它内部的对象。但是,当我尝试检索UIView图层的边界时,它会在调整大小之前返回原始大小。这是代码:

- (void) viewWillAppear:(BOOL)animated {
[self.creditCount setText:@"This is a very long string"];
[self.creditCount sizeToFit];

CALayer *layer = self.creditCountView.layer;
layer.shadowOffset = CGSizeMake(1, 1);
layer.shadowColor = [[UIColor blackColor] CGColor];
layer.shadowRadius = 4.0f;
layer.shadowOpacity = 0.80f;
layer.shadowPath = [[UIBezierPath bezierPathWithRect:layer.bounds] CGPath];

}

在代码中,creditCount是视图中调整大小的文本,self.creditCountView是视图。

在Interface Builder中:

In IB

运行时:

When running

提前致谢。

1 个答案:

答案 0 :(得分:0)

我通过将应用阴影的代码放在“viewDidLayoutSubviews”事件中来修复它。这样,每次大小改变时,阴影都会更新。