Таким образом у меня есть следующая функцияIOS обновление CALayer в анимации блока UIView
- (void)setMoreMenuHidden:(BOOL)hidden animated:(BOOL)animated completion:(void(^)(BOOL))completion
{
if (!hidden)
{
[self.view layoutIfNeeded];
[self.view setNeedsUpdateConstraints];
[UIView animateWithDuration:0.5f animations:^
{
[self.view layoutIfNeeded];
[_profileInfoVC viewWillLayoutSubviews];
}];
}
}
и в _profileInfoVC
я это делать
-(void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
[self.view layoutIfNeeded];
self.pictureImageView.layer.cornerRadius = self.pictureImageView.frame.size.width/2;
self.pictureImageView.clipsToBounds = YES;
}
Так я отдаю себе отчет в том, что слои игнорируются в анимации блоков, но Я предполагаю, что это также означает обновление вообще, так как оно остается довольно квадратным во время и после анимации. Есть ли решение для этого, которое не требует от меня создания Core Animation для всего слоя?