ниже код работает отлично для простой:Как добавить эффект вибрации в подвью?
UIVisualEffectView *blurView
Но, когда я пытаюсь добавить ярлык к нему, которая имеет динамизм эффект она ломается в слезах и ошибок. :(
UIBlurEffect * effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
_blurView = [[UIVisualEffectView alloc] initWithEffect:effect];
_blurView.backgroundColor = [UIColor colorWithWhite:0.8 alpha:0.5];
[self addSubview:_blurView];
UIVisualEffectView * vibrancyView = [[UIVisualEffectView alloc] initWithEffect:effect];
[_blurView.contentView addSubview:vibrancyView];
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont boldSystemFontOfSize:17.0];
_titleLabel.textColor = [UIColor colorWithWhite:0.1 alpha:0.5];
_titleLabel.text = @"TITLE";
[vibrancyView.contentView addSubview:_titleLabel];
Пользовательский набор метод кадров:.
#pragma mark -
- (void)setFrame:(CGRect)frame
{
[super setFrame:frame];
_blurView.frame = CGRectMake(0, 0, frame.size.width, frame.size.height);
_titleLabel.frame = CGRectMake(16, 16, 200, 30);
}
Метка не отображается на экране, но это показывает, если добавить его в качестве простого подвид к blurView
[_blurView addSubview:_titleLabel];
Я использую код в метод инициализации, это может быть причиной проблемы?
- (instancetype)init
{
self = [super init];
if (self) {
// Code...
}
return self;
}
Мне нужно, чтобы он был в методе инициализации, чтобы соответствовать тому, как я пишу код.
EDIT 1:
vibrancyView должен также иметь свой набор кадров.
vibrancyView.frame = CGRectMake(0, 0, _blurView.frame.size.width, _blurView.frame.size.height);
Оказывается пример в источник неполным.
EDIT 2:
Ярлык действительно обнаруживается, но это не имеет никакого эффекта динамичности.
Помощь!