UIView的外发光

时间:2009-09-06 19:52:02

标签: iphone cocoa-touch uiview nstextfield

我想知道如何在iPhone上的UIView外部创建外部发光效果,就像点击Mac上的常规NSTextField一样。

感谢您的帮助!

3 个答案:

答案 0 :(得分:4)

您可以向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 :(得分:1)

你可以创建一个背景图像,将它放在TextField后面,然后让它稍大一点,这样图像的发光部分就会显示在文本字段的边框周围。

答案 2 :(得分:1)

如果您的视图不透明,只需在其图层上添加阴影:

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