2009-09-06 2 views
2

Мне интересно, как я могу создать внешний эффект свечения вне UIView на iPhone, вроде как при нажатии обычного NSTextField на Mac.Outer Glow для UIView

Спасибо за помощь!

ответ

4

Вы можете добавить пользовательский subview в свой UIView, который выходит за пределы вашего UIView. Например:

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 может нарисовать границу в методе -drawRect:, или вы можете использовать UIImageView.

1

Вы можете создать фоновое изображение, поместить его за TextField и немного увеличить его, чтобы часть свечения отображалась вокруг границ текстового поля.

0

Если ваша точка зрения является непрозрачным, просто добавьте тень его слоя:

view.layer.shadowOpacity = 0.5 
    view.layer.shadowOffset = CGSizeZero 
    view.layer.shadowRadius = 5.0 
    view.layer.shadowColor = self.window!.tintColor.CGColor