2016-02-09 2 views
6

Используя нижеприведенный код для тени снаружи для UIButton. Но как я могу получить тень внутри кнопкиКак получить тень в UIButton внутри

button.imageView.layer.cornerRadius = 7.0f; 
button.layer.shadowRadius = 3.0f; 
button.layer.shadowColor = [UIColor blackColor].CGColor; 
button.layer.shadowOffset = CGSizeMake(0.0f, 1.0f); 
button.layer.shadowOpacity = 0.5f; 
button.layer.masksToBounds = NO; 

, пожалуйста, помогите кому-нибудь. Заранее спасибо

+1

см ссылку может быть, это поможет вам http://stackoverflow.com/questions/4431292/inner-shadow-effect-on-uiview-layer –

ответ

3

Тогда finallly я нашел решение моего вопроса

#define kDEFAULT_SHADOW_COLOR [UIColor lightGrayColor] 
    UIColor *color = [kDEFAULT_SHADOW_COLOR colorWithAlphaComponent:0.3f]; 
     NSArray *colorsArray = @[(id)[color CGColor], (id)[[UIColor clearColor] CGColor]]; 
     CGFloat yOffset = 0.0f; 
     CGFloat leftHeight = button.bounds.size.height; 
     CAGradientLayer *shadow; 
     shadow = [CAGradientLayer layer]; 
     shadow.colors = colorsArray; 
     shadow.frame = CGRectMake(0, yOffset, 5.0, leftHeight); 
     shadow.startPoint = CGPointMake(0.0, 0.5); 
     shadow.endPoint = CGPointMake(1.0, 0.5); 
     [button.layer insertSublayer:shadow atIndex:0]; 
0

попробовать это один

self.submitBtn.backgroundColor = [UIColor colorWithRed:(200.0f/255.0f) green:0.0 blue:0.0 alpha:1.0]; 

self.submitBtn.layer.cornerRadius = 3.0; 

self.submitBtn.layer.borderWidth = 2.0; 
self.submitBtn.layer.borderColor = [[UIColor clearColor] CGColor]; 

self.submitBtn.layer.shadowColor = [UIColor colorWithRed:(100.0f/255.0f) green:0.0 blue:0.0 alpha:1.0].CGColor; 
self.submitBtn.layer.shadowOpacity = 1.0f; 
self.submitBtn.layer.shadowRadius = 1.0f; 
self.submitBtn.layer.shadowOffset = CGSizeMake(0, 3); 
+0

Нету !! .. это то, что я ожидаю – vikramarkaios

1

Вы не ввели кнопку тени свойства. Добавьте следующие строки кода и покажите тень. Кодекс ...

self.submitBtn.layer.masksToBounds = YES; 
self.submitBtn.layer.clipsToBounds = YES;