Mansory
针对一些约束的不满足提示UIViewAlertForUnsatisfiableConstraints
,一堆的代码可能看不懂谁是谁,通过MASAttachKeys
的方法可在添加视图后添加 MASAttachKeys(view1, view2, view3)
打印出的日志会映射真实名字,方便查看。
setNeedsLayout
:告知页面需要更新,但是不会立刻开始更新。执行后会立刻调用layoutSubvies
。
layoutIfNeeded
:告知页面布局立刻更新。所以一般都会和setNeedsLayout
一起使用。如果希望立刻生成新的frame
需要调用此方法,利用这点一般布局动画可以在更新布局后直接使用这个方法让动画生效。
layoutSubviews
:系统重写布局
setNeedsUpdateConstraints
:告知需要更新约束,但是不会立刻开始
updateConstraintsIfNeeded
:告知立刻更新约束
updateConstraints
:系统更新约束
Debug
po [[UIWindow keyWindow] _autolayoutTrace]
UITableView的古怪现象
- 首页放的tableView,首次启动,tableView的contentSize显示异常,问题导致:
heightForFooterInSection
这类方法,不能设置0,可以设置成0.1等值。
Xcode 编译报错
- 报错提示
xxx.sh: Permission denied
时,根据提示信息,在该sh目录下,执行chmod +x 对英应报错的文件名字.sh
- 报错
Command PhaseScriptExecution failed with a nonzero exit code
,pod
的.framework
文件下在source="$(readlink "${source}")"
中添加-f
,source="$(readlink -f "${source}")"
-
build settings -> Linking - General -> Other Link Flags
添加-ld64
或者-ld_classic