iOS开发中遇到的一些问题
UILabel使用attribute string时,显示单行文字时,计算出的高度不太正常,底部会多出行间距(lineSpacing
);多行时,就是正常的。
解决方法: 在attributes字典中,只在文字展示为多行的情况下设置NSParagraphStyleAttributeName
。
1 |
|
在Storyboard中使用了静态cell,cell包含auto layout约束,关联了IBOutlet,然后设置其accessoryView
,导致CPU使用率飚升,界面卡死
解决方法: 不使用accessoryView
,直接将对应的视图放在静态cell中,并添加相关的约束
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "XXX" nib but the view outlet was not set.'
解决方法: 在xib
文件中添加一个View
,而不是一个ViewController
。File's Owner
对应的Class
应为自定义视图控制器的Class
控制台警告Setting the background color on UITableViewHeaderFooterView has been deprecated. Please use contentView.backgroundColor instead.
解决方法: 如果使用的是xib或storyboard,把backgroudColor
设置为default
就行了。
如果使用的是代码,将设置其backgroundColor
的代码删掉。
如果必须设置backgroundColor
,需要创建一个view,设置该view的backgroundColor
,并将其赋给backgroundView
属性。
UITableView
的tableHeaderView
或tableFooterView
位置不正确(与cell
重叠)
解决方法: 必须在给这两个属性赋值之前设置frame
(设置bounds
是不行的)。
如果是从xib
创建视图,对象假定为xibView
,必须init
另一个视图,对象假定为wrapView
,然后将xibView
添加到wrapView
上,再将wrapView
赋给tableHeaderView
或tableFooterView
。
1 |
|
自定义UITableViewHeaderFooterView背景色问题
自定义UITableViewHeaderFooterView
,设置了其contentView
的背景色,在不低于iOS 10
的系统上是有效的,但在iOS 8
、iOS 9
上是透明的。
解决方案:
1 |
|
iOS开发中遇到的一些问题
https://daniate.github.io/2022/04/10/iOS开发中遇到的一些问题/