我正在尝试复制下面的按钮(YO ap)
这个按钮漂浮在桌子视图正上方,但是视图完全是圆形的,你可以通过k字母如何从下面完美地伸出来看到这一点。是否可以创建一个圆形的UIView?任何想法如何创建阴影效果?
由于
答案 0 :(得分:3)
要制作圆形视图,您可以更改视图的cornerRadius
属性。
例如,您可以在某处创建一个正方形(width == height)按钮,在viewController中为它创建一个插座(例如@property (weak, nonatomic) IBOutlet UIButton *bMyButton;
)然后设置它的角半径,如下所示:
- (void)viewDidLoad {
[super viewDidLoad];
self.bMyButton.layer.cornerRadius = self.bMyButton.frame.size.height / 2;
}
使按钮"漂浮"在tableView之上,我相信,你应该将它添加为顶视图的子视图(与tableView在同一层次结构上)。 最后,你可以"附加"通过约束(自动布局)查看右下角。您可以在此处详细了解自动布局:Auto Layout Guide
至于阴影,我从来没有这样做,但我想,你应该看看其他layer
属性:shadowRadius
,shadowOffset
,{{1等等。
例如:
shadowOpacity
注意,UIView可能不会被剪裁到它的边界。例如,这是UIImageView的情况。如果你想要一个圆形UIImageView,你还必须将self.bMyButton.layer.shadowRadius = self.bMyButton.frame.size.width / 2 + 5;
设置为masksToBounds
:
YES
答案 1 :(得分:0)
如果您想以编程方式添加UIButton
。
//margin
CGFloat margin = 10.f;
//your image
UIImage *image = [UIImage imageNamed:@"side_menu.png"];
//create a button of custom type
UIButton *circularBtn = [UIButton buttonWithType:UIButtonTypeCustom];
//set background colour (if your image includes background colour then you may don't need this)
circularBtn.backgroundColor = [UIColor colorWithRed:245.f/255.f green:71.f/255.f blue:64.f/255.f alpha:1.f];
//set your image
[circularBtn setImage:image forState:UIControlStateNormal];
//dynamic frame
circularBtn.frame = CGRectMake(self.view.frame.size.width - (image.size.width * 2.f + margin ),
self.view.frame.size.height - (image.size.height * 2.f + margin),
(image.size.width * 2.f), (image.size.height * 2.f));
//add to self or any other view you want
[self.view addSubview:circularBtn];
//round the button
circularBtn.layer.cornerRadius = circularBtn.frame.size.width/2.f;
//add the shadow
circularBtn.layer.shadowColor = [UIColor blackColor].CGColor;
circularBtn.layer.shadowOpacity = 0.7f;
看起来应该是,
在我的例子中,我是大小为40x40(WxH)和@ 2x的透明图像。