- (void)layoutSubviews {
[super layoutSubviews];
//重新 setFrame 之后, 调用。
// Frame/约束 最后一次 修改后, 调用 显示 。
CGFloat btnW = kScreenWidth/5;
__block int index = 0; // __block ,不然他 释放。 不加 ,就是个 临时变量
for (UIView * subView in self.subviews ) {
if ( [subView isKindOfClass:[ UIControl class ] ]){
if ([subView isKindOfClass:[ UIButton class] ]) {
CGFloat offsetX = (kScreenWidth-40.0)/2;
subView.frame = CGRectMake(offsetX , 4 , 40, 40);
// x+5, 随机值, 不能解决 屏幕 适配 的问题。
}else{
//index 跟打印的 没关系。 反正看不到 源代码。 根据 业务逻辑来。
CGRect lastFrame = subView.frame;
if (index > 1){
lastFrame.origin.x = btnW * (index + 1);
}else {
lastFrame.origin.x = btnW * index;
}
lastFrame.size.width = btnW;//系统默认 四个, 我们是五个, 多了一个 自定制的。
subView.frame = lastFrame;
index ++ ;
}
}
}
}
20160905: 自定制 tabBar,√ 用Frame
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 最新项目中,遇到定制标签的需求,类试于『闲鱼』,于是找网上找了几个Demo学习,发现实现的方法大概有两种 1、创建...