话不多说,先看效果图,完美的设置背景。 ? 如果正常设置背景的话其它的组件都会产生变化。 这是因为组件的继承。 最开始的面板就是父类,我们新增加的组件就是子类,默认都是继承的。...继承也有继承的好处。 比如,我想统一所有的字体样式,然后就设置父类的字体样式就好了。 ? 既然知道了原理,就不要随便设置父类的样式。...我就专门设置了一个跟其它组件没有继承关系的ListView,然后铺开,专门作为背景层。 控件层级设置: 只要右键ListView,设置为放到后面就好了,就不会遮挡其它组件的。...背景图片、颜色设置方法: background-image: url("D:time.jpg")背景图片 background-color: red背景颜色 ?...就是在styleSheet里设置就好了。 ?
iOS-UITableView 详解 (一) ✨建议收藏,用到时候一查就明白了 UITableView可以说是iOS开发中最重要的控件之一,它的使用非常广泛,今天我们来学习UITableView的使用...这两者操作起来其实并没有本质区别,只是后者按分组样式显示前者按照普通样式显示而已 大家先看一下两者的区别: UITableViewStylePlain ?...不分组样式UITableViewStylePlain UITableViewStyleGrouped ?...分组样式UITableViewStyleGrouped UITableViewCell UITableView中每行都是一个UITableViewCell,UITableViewCell的样式我们可以通过...:(NSIndexPath *)indexPath { return 50; } @end 这个时候我们发现,当我们设置UITableView的style为UITableViewStylePlain
UITableView 介绍 UITableView 是用来用列表的形式显示数据的UI控件 举例 QQ好友列表 通讯录 iPhone设置列表 tableView 常见属性 // 设置每一行cell...= [UIButton buttonWithType:UIButtonTypeContactAdd]; UITableView的两种样式只读属性 只读属性,在代码中不能修改 UITableViewStylePlain...一组显示Section = 1; UITableViewStyleGrouped 分组显示Section >= 1; 展示数据 遵守协议 UITableViewDataSource 设置数据源 连线...@"b",@"c",@"d", nil]; } tableView常用方法 //设置分组的头部数据 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection...:(NSInteger)section { return @"头部"; } //设置分组的尾部数据 - (NSString *)tableView:(UITableView *)tableView
因为UITextView内容的高度不会影响systemLayoutSizeFittingSize计算。 下面是UITextView的实例: ?...它UITextView的frame是不影响systemLayoutSizeFittingSize:的计算。所以,我们需要加上textViewSize.height。...其中: OAStackView,基于OC的StackView库,支持iOS7+以上的系统,同时支持代码和IB视图。...当非IB创建时,属性默认为YES;当IB创建View时,属性默认为NO。 案例2 在水平方向上放4张图片,图片等分。 1,首先在页面上拖拽1个imageView,将它的宽高都设置成50。...4,最后,设置Stack View 的位置 ? ?
1,下面的样例是给表格UITableView添加编辑功能: (1)给表格添加长按功能,长按后表格进入编辑状态 (2)在编辑状态下,第一个分组处于删除状态,第二个分组处于插入状态 (3)点击删除图标...: UITableView, didSelectRowAt indexPath: IndexPath) { // 确定该分组的内容 let str = allNames[indexPath.section...[indexPath.row] print("str\(str)") } // 设置单元格的编辑的样式 func tableView(_ tableView: UITableView, editingStyleForRowAt...: UITableView, didSelectRowAt indexPath: IndexPath) { // 确定该分组的内容 let str = allNames[indexPath.section...[indexPath.row] print("str\(str)") } // 设置单元格的编辑的样式 func tableView(_ tableView: UITableView, editingStyleForRowAt
"]]; }#pragma mark - tableView的数据源方法// 数据源方法,特例,重要~ 一共同拥有多少个分组 (默认就是返回1)- (NSInteger)numberOfSectionsInTableView...:(UITableView *)tableView{ // 单组数据显示,无需分组,故返回 1,(默认就是返回1) return 1;}// 数据源方法,每一组,有多少行- (NSInteger...girl.headImgName]; cell.textLabel.text = girl.name; cell.detailTextLabel.text = girl.verdict; // 设置单元的右边附属...deselectRowAtIndexPath:indexPath animated:YES]; Girl *girl = _array[indexPath.row]; // 弹出姓名,以供用户更改 // 设置代理的目的是响应...-一般的文本输入框 alert.alertViewStyle = UIAlertViewStylePlainTextInput; // alertViewStyle 样式----username
好久没有写东西了,今天来分享一下最近在项目中对UITableView的一种优化写法。 先来看一下效果 ?...方便版本迭代:新版本有新的样式或是要添加新的section 什么的,都可以不用改动viewController。 cell有极高的可重用性,实现了对应的协议后,任何地方都可以用。...任何的修改都可以在一个地方完成。 集成了table view的分隔线,可以任意调整分隔线。section的第一条和最后一条分隔线可以分开设置。...*/ @property (nonatomic, copy) NSArray *viewModels; /** 返回这个section有多少row,这个不用设置,在设置viewModels时,会自动设置...默认1px @property (nonatomic) CGFloat separatorHeight; // section头部分隔线 不受separatorInset影响 @property (
UITableView定义在头文件UITableView.h中,详细的定义能够查看官方文档;从定义中能够看出,UITableView继承自UIScrollView类,因此在支持方便地显示列表数据的同一时候...即分组模式和平面模式。...假设是分组表视图。则多个 UITableViewCell构成一个section,每一个section也有头和尾视图。 以下简单新建一个demo展示一下怎样创建一个UITableView。...表视图所定义的协议方法由代理方法delegate和数据源方法data source方法组成。 托付方法一般用于实现个性化处理表视图的基本样式(如单元格的高度等)以及捕捉单元格选中的响应。...和dataSource设置为self,即托付给当前视图控制器来控制表视图的数据显示和响应。
{ // 退键盘的另外一种方式 birthday.resignFirstResponder() } } iOS 14 新增了卡片式日期选择器,且成为默认样式。...内容除了设置 String 类型,还可以设置 UIView 类型,且一旦设置了 UIView,设置 String 的失效。 代理方法可以设置内容的高度。...数据联动 在某一列滚动的时候,重新设置联动列的显示数据,然后进行刷新操作。...contentView里默认有 3 个控件:2 个UILabel、1一个UIImageView,并由此产生了四种不同的 UITableViewCell 的显示样式。...通过它可以设置内容的大小、间距和方向等信息。
UITableView的作用 以垂直滚动方式显示数据列表。 UITableView 的两种内置样式:UITableViewStylePlain 和UITableViewStyleGrouped 。...UITableView的常用属性 2.1 分割线属性 属性名称 作用 separatorStyle 分隔线样式 separatorColor 分隔线颜色 2.2 选中属性 属性名称 作用 allowsSelection...2.5 UITableViewCell的selectionStyle属性可设置被选中时的背景颜色 属性名称 作用 UITableViewCellSelectionStyleNone 没有颜色 UITableViewCellSelectionStyleBlue...蓝色(默认) UITableViewCellSelectionStyleGray 灰色 3. tableView展示数据三部曲 遵守数据源协议; 设置数据源 实现相应数据源方法 cell的默认高度是...UITableViewStyleGrouped样式 4.1 使用storyboard设置 ? Paste_Image.png 4.2 使用代码设置 ?
Eureka.swift - Eureka 是 XLForm 的 Swift 的移植版本, 一个可以帮助开发者们快速构建 iOS 各种复杂表单的库, 具有较高的可扩展性, 方便自定制样式。...RETableViewManager - 可以十分方便地生成各种样式、各种功能的TableView。只要开发者能想到的列表效果或者功能,都可以利用这份代码迅速编写出来。...LGSettingView - LGSettingView仅需三句代码即可快速集成设置界面,免去每次开发新应用都要重新布置设置界面的烦恼。...FriendSearch - 两种UI的搜索,搜索的算法可以满足中英文互搜,联想搜索等,其中还包含对一组数据自动进行按字母分组等功能。...YX_UITableView_IN_UITableView - UITableview嵌套UITableView案例实践(仿淘宝商品详情页实现),项目讲解。
在iOS13之后苹果为我们提供了新的样式选项.insetGrouped,如果使用这个样式的话,苹果会为我们自动实现每个section的圆角,而且cell两侧有相应的间距。...我这里使用.grouped样式的UITableView来演示下实现原理:1、先说下实现边距,我们自定义一个cell类,在自定义cell中重写cell的frame属性,在设置frame的时候我们给它设置下想要的边距...cell的圆角cell设置圆角分三种情况当某个section只有一个cell时,我们需要对cell的四个圆角都要设置;当section的cell大于1时,我们需要对第一个和最后一个cell设置圆角第一行...,需要实现UITableView的四个代理方法。...(当tableView使用的样式是.grouped)func tableView(_ tableView: UITableView, heightForHeaderInSection section:
UICollectionView和UITableView有相同的API设计理念——都是基于dataSource以及delegate驱动的。...,但是UICollectionViewCell是没有默认样式的,所有的控件都需要自定义添加到contentView上。...其有三个比较重要的属性:minimumInteritemSpacing设置一行中两个Item之间的最小间距,minimumLineSpacing设置上下两行之间的最小间距,itemSize设置每一个item...通过UICollectionViewFlowLayout中的itemSize属性是将所有的Item都设置成一个统一的样式,如果我们需要对特定的item进行自定义样式,那么就需要实现UICollectionViewDelegateFlowLayout...,这是UITableView和UICollectionView的最大的不同。
UITableView 平时经常用到的方法和判断做一些分离 这样岂不是就可以分开逻辑 单独处理?...numberOfSections(in tableView: UITableView) -> Int //返回组的个数 这个代理方法是设置表格的分组个数 我们用 ZHTableViewGroup 分别代表表格的组.../// 托管 UITableView 的对象 var tableView:UITableView 之前准备想让用户不用实现 UITableViewDataSource 的代理方法 用运行时或者代理卸载这个库里面...我们写一个方法来添加元素 /// 添加分组 /// /// - Parameter completionHandle: 添加分组配置的回调 public func addGroup...nil /// - section: 分组的索引 /// - Returns: 对应分组对象可能为 nil private class func groupForSection
复习一下: 1、在控制器上添加一个UITableView, 暂时该UITableView控件变量名命名为为tableView, 设置控件代理,实现控制器的UITableViewDataSource,...//实现代码 //设置tableView控件editing属性 tableView.editing = YES; //设置可编辑 } //delegate代理方法,实现此方法...,可以设置UITableViewCell增加或删除功能,如果不实现此方法,默认都是删除样式 - (UITableViewCellEditingStyle)tableView:(UITableView *...3、UITableViewCell的移动:实现一个代理方法,就可以进行单元格的移动: //实现此方法,就可以移动单元格, 方法里面是让数据和样式移动保持一致 - (void)tableView:(UITableView...按住想要移动的UITableViewCell的哪个三横图标,可以进行移动 ?
场景需求 一个表格视图(或者宫格视图)中,当一个单元格被选中时设置彩色样式,选中其它单元格时设置灰色样式。 2. 一个思路 通过实现选中和非选择的代理,以在适当的时机进行UI更新操作。 3....*)indexPath;代理方法,你就有机会还原cell的默认样式。...,你也就没有机会还原cell的默认样式。...:(NSIndexPath *)indexPath;代理方法,你就有机会还原cell的默认样式。...相同点在于,手动设置选中的时候,都是不会执行didSelect方法的。
介绍UITableView 中的所有视图均设置了UITraitCollection.listEnvironment特征。...使用特征设置 UITableViewCell 样式时无需知道 UITableView 的具体样式。...= { let tableView = UITableView(frame: UIScreen.main.bounds, style: .plain) tableView.dataSource...(frame: UIScreen.main.bounds, style: .plain) } else { tableView = UITableView(frame...UITableViewCell(style: .subtitle, reuseIdentifier: "abc") // iOS18新增,通过UITraitCollection.listEnvironment设置单元格样式
MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。...Classy - Classy是一个能与UIKit无缝结合stylesheet(样式)系统。...Cartography - Cartography 是用来声明 Swift 中的 Auto Layout,无需输入任何 stringly 就可设置自己 Auto Layout 的约束声明。...第二个Demo模拟了一个经典的FlowLayout,任意一个元素隐藏时,底下的元素需要自动“顶”上来,配合这个扩展,你可以在IB里连一连,选一选,不用一行代码就能搞定。...KMPlaceholderTextView - 可显示多行 placeholder 的 textView,可以在IB里面设置 -- swift。
介绍 UITableView 中的所有视图均设置了UITraitCollection.listEnvironment特征。...使用特征设置 UITableViewCell 样式时无需知道 UITableView 的具体样式。...= { let tableView = UITableView(frame: UIScreen.main.bounds, style: .plain) tableView.dataSource...(frame: UIScreen.main.bounds, style: .plain) } else { tableView = UITableView(frame...UITableViewCell(style: .subtitle, reuseIdentifier: "abc") // iOS18新增,通过UITraitCollection.listEnvironment设置单元格样式
iOS中UI的布局是很重要的,而在前期开发中就要选定好布局的方法,因为这对整个工程乃至于后期的版本维护都有很重要的影响。...我们可以在XIB、StoryBoard中通过拉线的形式给控件视图添加布局约束,通过苹果强大的可视化界 IB(Interface Builder)我们能够轻松的使用AutoLayout完成界面视图的布局。...IB 原生的AutoLayout 原生的iOS布局,要添加`一个约束`是这样的: NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem...2、实现了UIView内子视图的自动布局; 3、实现了UIScrollView内容高度根据内部子视图的内容高度动态设置; 4、实现了一个UITableView有多个不同Cell的时候,所有cell高度自适应...:10]即可,这个方法在 子视图初始化的最后设置可以在 Model赋值后设置也可以 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath