首先得是用iOS 26 SDK构建,使用旧的Xcode构建还是旧的效果,不是Liquid Glass
1.关闭玻璃效果:
if (@available(iOS 26.0, *)) {
item.hidesSharedBackground = YES;
}
2.宽度问题:
(1)item的宽度有个最小值,目前发现在iPhone17 pro max上是36。
(2)使用initWithCustomView时,frame不能生效,需要使用autolayout布局,比如使用一个容器UIView,从内部撑开,可以控制宽度,但是小于最小值的时候,是不能生效的。
(3)添加一组item时,间距很大,可以使用容器UIView,通过autolayout布局,最后只把容器作为CustomView添加,同样的这时候可以控制每一个item的宽度。
3.总结:
(1)我习惯都用CustomView,也就是UIButtom,因为方便统一样式;
(2)重点:虽然customView的frame不能生效了,但是还是要设置,因为iOS 26以下还需要它控制宽度。比如一个20宽度的图片,如果不设置UIButtom的frame,在iOS 18添加成item就是20宽,太窄了,而在iOS 26 iPhone17 pro max上是36,就很好。
(3)单个图标类型的item,通过图片尺寸控制大小
(4)文字类型item,什么都不用做,自适应
(5)多个item使用一个容器可以随意布局