Можно ли уменьшить текущий вид какао? При определенном действии я хочу сделать экран немного темнее и не дать пользователю взаимодействовать с экраном.Как уменьшить/отключить текущий вид?
ответ
От идеи дается @Lord Жолт, то же самое может быть реализовано в OS X, как:
Добавьте следующий код, если вы хотите, чтобы затемнить окно.
NSView *transparentBlackView = [[NSView alloc] initWithFrame:[[yourwindow contentView] frame]];
CALayer *viewLayer = [CALayer layer];
[viewLayer setBackgroundColor:CGColorCreateGenericRGB(0.0, 0.0, 0.0, 0.4)]; //RGB plus Alpha Channel
[transparentBlackView setWantsLayer:YES];
[transparentBlackView setLayer:viewLayer];
[[yourwindow contentView] addSubview:transparentBlackView];
Также не забудьте добавить QuartzCore.framework
к вашему проекту. И импортируйте его в свой класс, используя #import<QuartzCore/QuartzCore.h>
Это workls.Thanks.Upvoted и выбран как лучший ответ. – zzzzz
Редактировать: Я только сейчас заметил, это OSX, а не iOS. Хотя идея все равно должна быть одинаковой.
Отключить взаимодействие с пользователем:
[self.view setUserIntractionEnabled:NO];
Затем добавить UIView черным цветом, как альфа-0,2 над ним.
UIView *transparentBlackView = [[UIView alloc] initWithFrame:self.view.frame]
[transparentBlackView setBackgroundColor:[UIColor blackColor];
[transparentBlackView setAlpha:0.2];
[self.view addSubview:transparentBlackView];
Тогда вы можете написать специальный метод, а также использовать performSelector: afterDelay удалить transparentBlackView.
Просьба уточнить область применения; это вид или экран? – trojanfoe
Все окно приложения – zzzzz
Так и нет. Вы должны быть более точными. – trojanfoe