Resplandor exterior para UIView
-
21-09-2019 - |
Pregunta
Me gustaría saber cómo puedo crear un efecto de resplandor exterior fuera de un UIView en el iPhone, algo así como cuando se hace clic en un NSTextField regular en el Mac.
Gracias por cualquier ayuda!
Solución
Se puede añadir un subvista personalizado a la UIView que se extiende más allá de los límites de su UIView. Por ejemplo:
UITextView* mainView = [[UITextView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];
mainView.clipsToBounds = NO;
// Add 5 px of padding to the mainView bounds
CGRect borderFrame = CGRectInset(mainView.bounds, -5, -5);
MyBorderView* borderView = [[MyBorderView alloc] initWithFrame:borderFrame];
customView.userInteractionEnabled = NO;
[mainView addSubview:customView];
MyBorderView
puede dibujar un borde en su método -drawRect:
, o se puede utilizar UIImageView.
Otros consejos
Se puede crear una imagen de fondo, la posición detrás del campo de texto, y tiene que ser un poco más grande que la parte del brillo muestra la imagen alrededor de los bordes del campo de texto.
Si su visión es opaca, basta con añadir una sombra a su capa:
view.layer.shadowOpacity = 0.5
view.layer.shadowOffset = CGSizeZero
view.layer.shadowRadius = 5.0
view.layer.shadowColor = self.window!.tintColor.CGColor
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow