如何使iOS FBSDKProfilePictureView 圆形?
Posted
技术标签:
【中文标题】如何使iOS FBSDKProfilePictureView 圆形?【英文标题】:How to make iOS FBSDKProfilePictureView Round? 【发布时间】:2015-05-09 08:50:45 【问题描述】:我正在尝试对 FBSDKProfilePictureView 进行四舍五入,但我做不到。
这是我所拥有的:
ViewController.h
@property (weak, nonatomic) IBOutlet FBSDKProfilePictureView *fbPhoto;
ViewDidLoad 上的 ViewController.m
self.fbPhoto.layer.cornerRadius = 30.0;
self.fbPhoto.layer.borderColor = [UIColor lightGrayColor].CGColor;
self.fbPhoto.layer.borderWidth = 1.0;
它在 UIIMage 前面画了一个圆形,但它不会“裁剪”图像。
我该怎么做
【问题讨论】:
试试这个 self.fbPhoto.layer.clipToBounds = YES;或 self.fbPhoto.layer.maskToBounds = YES; 【参考方案1】:只需设置clipsToBounds
self.fbPhoto.layer.cornerRadius = 30.0;
self.fbPhoto.clipsToBounds=YES;
self.fbPhoto.layer.borderColor = [UIColor lightGrayColor].CGColor;
self.fbPhoto.layer.borderWidth = 1.0;
【讨论】:
【参考方案2】:首先要设置像whats up和FB这样的圆形头像,您可以使用下面的逻辑,然后将fbPhoto类的setAutoresizesSubviews
设置为NO
。
使用下面的代码代替你的..
[self.fbPhoto.layer setCornerRadius:self.fbPhoto.frame.size.height/2];
[self.fbPhoto.layer setBorderColor:[UIColor lightGrayColor].CGColor];
[self. fbPhoto.layer setBorderWidth:1];
[self.fbPhoto setAutoresizesSubviews:NO];
【讨论】:
【参考方案3】:Jay 的建议奏效了。很快就来了:
//rounded corners
ProfilePicture.layer.cornerRadius = ProfilePicture.frame.size.width / 2
ProfilePicture.layer.borderColor = UIColor.whiteColor().CGColor
ProfilePicture.layer.borderWidth = 1.0;
ProfilePicture.clipsToBounds = true
【讨论】:
以上是关于如何使iOS FBSDKProfilePictureView 圆形?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 AutoLayout (iOS/Xamarin.iOS) 使 ScrollView 适合其内容?