【发布时间】:2014-08-05 16:05:27
【问题描述】:
我正在开发使用自定义 UIView 类的简单 iPhone 应用程序。 因此,当我将该类应用于故事板中的视图时,它会停止接受我的自动布局约束。我试图在故事板中应用约束。所以我的自定义 UIView 类看起来像
@implementation RoundedView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
- (void)awakeFromNib
{
[super awakeFromNib];
UIRectCorner corners;
… some code ...
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds
byRoundingCorners:corners
cornerRadii:CGSizeMake(self.radious, self.radious)];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = self.bounds;
maskLayer.path = maskPath.CGPath;
self.layer.mask = maskLayer;
}
我将这个类应用到我在故事板中的视图中,它工作正常,但它没有听我的限制。那么如何在这种情况下应用约束。有人知道这个吗?需要一些帮助。谢谢你。
【问题讨论】:
-
你是说没有 awakeFromNib 代码也能工作吗?
-
您是否尝试将 maskLayer 的 needsDisplayOnBoundsChange 设置为 YES ?
-
你首先需要设置 maskLayer 的框架。我相信图层不受自动布局的影响。
-
@cekisakurek 你能帮我做吗?
-
@cekisakurek 我试过
maskLayer.needsDisplayOnBoundsChange = YES;但它仍然不适合我。如何做到这一点?
标签: ios uiview constraints autolayout