Вы можете реализовать эту функциональность в категории на CALayer следующим образом:
CALayer + Extension.h
#import <QuartzCore/QuartzCore.h>
typedef void (^ActionsBlock)(void);
@interface CALayer (Extension)
+ (void)performWithoutAnimation:(ActionsBlock)actionsWithoutAnimation;
- (void)bringSublayerToFront:(CALayer *)layer;
@end
CALayer + Extension.m
#import "CALayer+Extension.h"
@implementation CALayer (Extension)
+ (void)performWithoutAnimation:(ActionsBlock)actionsWithoutAnimation
{
if (actionsWithoutAnimation)
{
// Wrap actions in a transaction block to avoid implicit animations.
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
actionsWithoutAnimation();
[CATransaction commit];
}
}
- (void)bringSublayerToFront:(CALayer *)layer
{
// Bring to front only if already in this layer's hierarchy.
if ([layer superlayer] == self)
{
[CALayer performWithoutAnimation:^{
// Add 'layer' to the end of the receiver's sublayers array.
// If 'layer' already has a superlayer, it will be removed before being added.
[self addSublayer:layer];
}];
}
}
@end
И для легкого доступа вы можете #import "CALayer+Extension.h"
в файле Prefix.pch (скомпилированный заголовок) вашего проекта.
У меня была такая же проблема, и мне пришлось внести два изменения в свойства файла resx.
(Я не могу прокомментировать предыдущий ответ ... еще нет репутации ...?)
Боюсь, это не решило мою проблему.
При попытке использовать решение «Содержимое / всегда копировать» я получаю исключение, в котором говорится, что связывание во время компиляции не сработало.
Зачем asp.net файл resx, если ресурсы скомпилированы в!?