Эффект размытия неправильно настроен на родительский вид - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть ячейка с imageView, и я хотел размыть это изображение, чтобы скрыть его для пользователя.Чтобы сделать это, я просто добавил размытие, но оно не настроено должным образом, и на правом краю есть белая полоса.Ты хоть представляешь, что с этим происходит?Эта проблема появляется только на физических устройствах, на симуляторе все нормально.Это мой код для размытия.

Вот как это выглядит в настоящее время: Image with problem

#import "BlurView.h"

@interface BlurView()
@property (nonatomic, strong) UIVisualEffectView *blurEffectView;
@end

@implementation BlurView

- (instancetype)initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
    self.backgroundColor = [UIColor clearColor];

    UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
    self.blurEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
    self.blurEffectView.translatesAutoresizingMaskIntoConstraints = NO;
    [self addSubview:self.blurEffectView];

    [[self.blurEffectView.widthAnchor constraintEqualToAnchor:self.widthAnchor] setActive:YES];
    [[self.blurEffectView.heightAnchor constraintEqualToAnchor:self.heightAnchor] setActive: YES];
    [[self.blurEffectView.centerXAnchor constraintEqualToAnchor:self.centerXAnchor] setActive:YES];
    [[self.blurEffectView.centerYAnchor constraintEqualToAnchor:self.centerYAnchor] setActive:YES];

    }
    return self;
}

@end

1 Ответ

0 голосов
/ 26 февраля 2019

Прежде всего, я рекомендую вам всегда пытаться использовать раскадровки и применять там ограничения (чтобы у вас не возникало подобных проблем).

Если вы должны сделать это программно, можете попробовать применитьРазмытость в методе layoutSubviews?

-(void) layoutSubviews{
    [super layoutSubviews];

//    your code here.

}

Как говорит Apple (https://developer.apple.com/documentation/uikit/uiview/1622482-layoutsubviews):) Этот метод следует переопределять только в том случае, если поведение подпредставлений, основанное на автоизменении размера и ограничениях, не обеспечивает требуемого поведения.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...