具有圆angular和阴影的UIBarButtonItem
我想在UIBarButtonItem
上有圆angular和阴影。
UIButton *useButton = [UIButton buttonWithType:UIButtonTypeCustom];
然后,我尝试设置阴影和圆angular:
useButton.layer.masksToBounds = NO; useButton.layer.cornerRadius = 4; useButton.layer.shadowOffset = CGSizeMake(0, 1.5); useButton.layer.shadowRadius = 0.5; useButton.layer.shadowOpacity = 1.0; useButton.layer.shadowColor = [BSTCMColorUtility colorFromHexString:@"#AFAFAF"].CGColor;
最后我做了UIBarButtonItem
:
UIBarButtonItem *useItem = [[UIBarButtonItem alloc] initWithCustomView:useButton]; [self.navigationItem setRightBarButtonItems:@[useItem]];
我没有得到圆angular,但我确实得到了阴影。
如果我添加:
useButton.clipsToBounds = YES;
和/或:
useButton.layer.masksToBounds = YES;
我得到圆angular,但没有阴影。 所以我想我会尝试添加一个子图层。
CALayer *useButtonShadowLayer = [CALayer new]; useButtonShadowLayer.frame = useButton.frame; useButtonShadowLayer.cornerRadius = 4; useButtonShadowLayer.backgroundColor = [UIColor whiteColor].CGColor; useButtonShadowLayer.shadowOffset = CGSizeMake(0, 1.5); useButtonShadowLayer.shadowRadius = 0.5; useButtonShadowLayer.shadowOpacity = 1.0; useButtonShadowLayer.shadowColor = [BSTCMColorUtility colorFromHexString:@"#AFAFAF"].CGColor; useButton.layer.cornerRadius = 4; useButton.layer.masksToBounds = YES; UIView *parent = useButton.superview; [parent.layer insertSublayer:useButtonShadowLayer below:useButton.layer];
它似乎没有工作,我看不到阴影。 我得到圆angular寿。
在UIBarButtonItem
/ UIButton
上不可能有圆angular和阴影?
试试这个更新的代码:
UIButton *useButton = [UIButton buttonWithType:UIButtonTypeCustom]; useButton.frame = CGRectMake(100, 430, 100, 40); useButton.layer.masksToBounds = NO; useButton.layer.cornerRadius = 10; useButton.layer.shadowOffset = CGSizeMake(1.5, 1.5); useButton.layer.shadowRadius = 0.5; useButton.layer.shadowOpacity = 1.0; useButton.layer.shadowColor = [UIColor blackColor].CGColor; useButton.backgroundColor = [UIColor redColor]; UIBarButtonItem *useItem = [[UIBarButtonItem alloc] initWithCustomView:useButton]; [self.navigationItem setRightBarButtonItems:@[useItem]];
UIButton *useButton = [UIButton buttonWithType:UIButtonTypeCustom]; useButton.frame = CGRectMake(0, 0, 60, 30); useButton.backgroundColor = [UIColor redColor]; useButton.layer.masksToBounds = NO; useButton.layer.cornerRadius = 4; useButton.layer.shadowOffset = CGSizeMake(0, 1.5); useButton.layer.shadowRadius = 5; useButton.layer.shadowOpacity = 1.0; // useButton.layer.shadowColor = [UIColor blackColor].CGColor; useButton.layer.borderColor = [UIColor blackColor].CGColor; [self.view addSubview:useButton]; UIBarButtonItem *useItem = [[UIBarButtonItem alloc] initWithCustomView:useButton]; [self.navigationItem setRightBarButtonItems:@[useItem]];
btnname.layer.cornerRadius = 8.0; btnname.layer.shadowOffset = CGSizeMake(2, 2);
btn.layer.cornerRadius = 2.0 ;
buttonName.layer.cornerRadius = 2; buttonName.layer.borderWidth = 1; buttonName.layer.borderColor = [UIColor blacColor].CGColor;