UITableViewCell中设置动态大小的圆形imageview

在一个自定义的UITableViewCell里有一个imageview需要显示成圆形,因为它的宽高是autolayout动态设置的,所以不能在xib中设置layer.cornerRadius。于是我就在awakeFromNib中设置layer.cornerRadius与layer.masksToBounds的,测试发现iPhone6下没有问题,但是在iPhone5下显示不对。在awakeFromNib中打印imageview的frame,发现width与height还是xib中的原始值,这样显然是有问题的。

很明显,我需要的是在UITableViewCell的autolayout完成之后imageview的frame,不过发现没有相关的api来实现,最后用下面的代码实现了:

- (void)layoutSubviews {
    [super layoutSubviews];
    
    [self layoutIfNeeded];
    _imageviewAvantar.layer.cornerRadius = _imageviewAvantar.width / 2;
    _imageviewAvantar.layer.masksToBounds = YES;
}

也许另一个办法是写一个UIImageView的subclass,在它的layoutSubviews里修改layer.cornerRadius

参考:How to combine Auto Layout constraints with contentMode property of UIView

时间: 2024-09-29 18:09:09

UITableViewCell中设置动态大小的圆形imageview的相关文章

XCode中设置字体大小

XCode中设置字体大小 1)打开Preferences,快捷键是“Command + ,”(注意,是三个键,按住command键,然后再快速地按“+”和“,”两个键即可) 2)选择“Fonts & Colors”,选中所有的“Category”,然后双击“Font”一列,在弹出的对话框中选择适合自己的字体大小即可.

VS2008中设置字体大小和添加显示行号

1.字体设置 菜单->工具->选项->环境->字体和颜色 在字体那一栏可以选字体,VC6.0默认的字体是Fixedsys,字体大小你可以设为12,就与VC6.0的一样的字体了. 2.显示行号 菜单->工具->选项 在新窗口中左面树菜单中展开“文本编辑器”,找到子项“所有语言”在右面的面板中显示的行号前面打勾

allegro中设置字体大小的主要参数

初学allegro,建封装库时采用别人的封装进行更改,发现能够更改Text的大小,却无法更改Text的字体宽度. 首先介绍一下Text Setup的主要参数: Width:字符宽度 Height:字符高度 Line Space:字符行间距 Photo Width:字符丝印线宽 Char Space:字符字体间的间距 text blk:字体编号 采用Edit->change功能,在Options中选中所需更改字体参数的class以及subclass,选中Text block,调整右边对应的bloc

在Windows7系统中设置虚拟内存大小

原文地址:https://www.cnblogs.com/morgan363/p/11971323.html

获取屏幕高宽,在代码中设置控件大小的方法

获取屏幕高宽的方法: 1 import android.view.Display; 2 import android.view.WindowManager; 3 WindowManager windowManager = getWindowManager(); 4 Display display = windowManager.getDefaultDisplay(); 5 if(display.getWidth()==480 && display.getHeight()== 272 ||

如何让 UITableViewCell 中的 imageView 大小固定

UITableView可以算是使用频率最高的组件之一的,在开发过程中经常需要展示一些简单的信息列表常见列表布局 如图,很多页面其实就是这种展示结果,通常需要imageView,textLabel,detailTextlabel,而UITableViewCell本身提供了方便的自动布局(当有图片和没图片时,textLabel和detailLabel的位置会左右自动调整). 但是图片的大小却是没有办法固定的(直接设置imageView.frame是无法固定imageView的大小的),那么一般来说解

iOS UITableViewCell 中 调整imageView 的图片大小

在我的项目中,很多地方都希望将UITableViewCell 中的imageView 能根据自己图片的大小来进行展示,而就为了解决这个问题又觉得重写UITableViewCell 很不值得. 如下: : 其实我就只有 图片变形的问题.所以我第一时间想到的是调整imageView 内容布局模式以及外框大小 cell.imageView.contentMode=UIViewContentModeCenter; cell.imageView.frame=.... 另外如: cell.imageView

如何在代码中动态设置字体大小

//给一个id为name的TextView设置字体大小 TextView mName = (TextView)findViewById(R.id.name); mName.setTextSize(22); 开始学Android的时候,设置字体大小,无非用上面的代码.写的非常舒服,都不知道22用的是什么单位,字体太小,数字改大点,字体太大,数字改小点.Android编写多了,想要读dimens里设置的22值.很简单下面就是代码. www.2cto.com [java] //XML中的定义<dime

修改UITableViewCell中UIImageView的位置和大小

问题描述:当我们在iOS中实现带图片带列表显示时UITableViewCell中自带了一个存放图片的控件UIImageView,当我们获取的图片大小一致时,图片能够很整齐大显示,可是有些时候我们获取的列表图片的大小并不完全一致,为了保证界面的美观我们必须调整图片大小或位置,可是当我们在定义好的UITableViewCell对象中设置cell.imageView.bounds.cell.imageView.frame时发现无论设置什么值都无法改变图片的大小和位置. 解决办法: 给UITableVi