I 视图滚动的时候控制导航条标题及公告视图的alpha 应用场景:导航条的标题放到视图中,例如下图 ?...}]; } return _noteViw; } 1.2 滚动的时候控制导航条标题和公告视图的...<= 0) { _tableView.contentOffset = CGPointMake(0, 0); _tableView.bounces...= NO; } else { _tableView.bounces = YES; } } II 更改UIButton的图片颜色 应用场景:比如设计给我们的是一张黑色的返回箭头图...UIButton *tmp = [UIButton new]; [tmp setImage:[UIImage imageNamed:@"icon_daiban_dinghuo
学习移动app开发,我们常常从讲解基本的控件开始,如UILabel、UISearchBar、UIButton、UITextField等等。...通过self.title属性来设置导航栏的标题。...如: self.title =@"登录"; Table View Table views是用来显示滚动视图的控件,滚动视图是iOS Apps中最常见的用户界面。...在App内部发生某个事件时,就会发出提醒,为某个事件订阅或者接收提醒的过程叫做delegation(委托)。 例如,我们使用delegate创建table view,并告知要绘制10行。...先创建一个按钮,代码如下: UIButton * button=[UIButton buttonWithType:UIButtonTypeSystem]; button.frame=CGRectMake
内容可滚动。...数据联动 在某一列滚动的时候,重新设置联动列的显示数据,然后进行刷新操作。...UIScrollView、UIPageControl UIScrollView 滚动控件 三个重要属性 contentSize:UIScrollView 滚动的范围。...title: String, at index: Int) -> Int { // 点击的索引标题 print(title) // 一定要返回index...= UIButton(primaryAction: UIAction { _ in print("按钮点击") }) // 方式二 let btn = UIButton() btn.addAction
4、UITableViewCellStyleValue2 该格式居左现实一个小型蓝色主标签textLabel,在其右边显示一个小型黑色副标题详细标签detailTextLabel。...[self setExtraCellLineHidden: _detailTableView]; } 好像这还不够,如果TableView没有数据时,会出问题,所以要在 -(NSInteger)...因此在cell不可见时,可以将其缓存起来,而在需要时继续使用它即可。...做到前几点后,你的table view滚动时应该足够流畅了,不过你仍可能让用户感到不爽。常见的现象就是在更新数据时,整个界面卡住不动,完全不响应用户请求。...例如每次载入50条信息,那就可以在滚动到倒数第10条以内时,加载更多信息: - (void) tableView: (UITableView *)tableView willDisplayCell: (
5.UIButton文本竖着排列 ? 你可能找不到这样的设置,但是可以这样简单的实现。...- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:...cell点击.gif - (void)tableView:(UITableView *)tableView didHighlightRowAtIndexPath:(NSIndexPath *)indexPath...- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; { } 8....topTitleBtnClick:btn]; } [self.titleButton addObject:btn]; //一个数组 } 3.Button的点击事件,放大当前的按钮恢复上一个点击的按钮,并滚动
代码如下: 1 #pragma mark --根据scrollView的滚动位置复用tableView,减少内存开支 2 -(void) updateTableWithPageNumber: (NSUInteger...我是在ScrollView到达相应的页数时进行tableView的移动和数据的刷新。...二、头部按钮达到一定数量时,布局的显示方案。 也是防新闻头条的那种,按钮多到一定个数时回使用ScrollView进行滚动。在本Demo中是超过6个按钮就可以滑动,而6个以下是平分整个屏幕的宽度的。...2) { 42 view.backgroundColor = [UIColor grayColor]; 43 } 44 45 UIButton...*button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, width, TOPHEIGHT)]; 46 button.tag
我把子分类和三级分类放到一个cell里了,所以核心代码都在 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath...i][@"title_zh"] boundingRectWithSize:boundSize options:options attributes:attribute context:nil]; UIButton... * btn = [[UIButton alloc]initWithFrame:CGRectMake(30+sumWidth,40+row*30, requiredSize.size.width,... = [self tableView:tableView cellForRowAtIndexPath:indexPath]; return cell.frame.size.height; }...难点和思路: 难点:1.获取的最小一级的分类在按钮上自适应 2.什么时候换行需要判断 3.高度自适应 解决思路: 取三级分类的标题叠加
ios15适配 1、UITabar、NaBar新增scrollEdgeAppearance,来描述滚动视图滚动到bar边缘时的外观,即使没有滚动视图也需要去指定scrollEdgeAppearance,...具体可以参考UIBarAppearance 2、tableView 增加sectionHeaderTopPadding属性,默认值是UITableViewAutomaticDimension,可能会使tableView...sectionHeader多处一段距离,需要设置 为 3、IDFA 请求权限不弹框问题,解决参考iOS15 ATTrackingManager请求权限不弹框 4、iOS15终于迎来了UIButton的这个改动...2、safeAreaLayoutGuide的引入 3、tableView默认开启了Size-self 4、新增的prefersLargeTitles属性 5、改善圆角,layer新增了maskedCorners...属性 6、tableView右滑删除新增api 7、导航条的层级发生了变化。
之前写过一篇关于朋友圈的TableView优化。 iOS TableView 优化 今天仿照微博写了一个demo,滚动FPS都是60,没发现卡顿的情况。 ?...NSMutableArray *tolAry = [NSMutableArray new]; for (int i = 0; i < imgAry.count; i ++) { UIButton...*btn = [UIButton buttonWithType:UIButtonTypeCustom]; [btn setImage:[UIImage imageNamed:imgAry...colorWithAlphaComponent:0.2]; [self addSubview:self.sectionView]; } 朋友圈和微博写在一个项目里面的,这只是提供一种优化的思路,对于初步了解TableView
---- 上拉刷新 现在多数APP做无缝的上拉刷新,就是当tableView滚动到最后一行cell的时候,自动刷新加载数据。...用一个属性来记录是否是上拉加载数据 /// 上拉刷新标记 var isPullup = false 滚动到最后一行 cell 的时候加载数据 func tableView(_ tableView: UITableView...: "common_button_white_disable") /// 登录按钮 lazy var loginButton: UIButton = UIButton(hq_title: "登录", color...则可以直接通过addTarget的方式为该视图中的按钮添加监听方法 这样做的代价是耦合度高,控制器和视图绑定在一起,但是省略部分冗余代码 ---- 调整未登录时导航按钮 如果单纯的在setupVistorView...字典转模型逻辑 上拉 / 下拉数据处理逻辑 下拉刷新数据数量 本地缓存数据处理 初体验 因为MVVM在swift中都是没有父类的,所以先说下关于父类的选择问题 如果分类需要使用KVC或者字典转模型框架设置对象时,
titleView也是添加在主控制器上,显示在scrollView上面,保证titleView永远显示在主控制器的View上,不会随着scrollView的滚动而滚动。...一定要调用[setcontentoffset animated ] 或者 [scrollerRactVisible animaated]方法让scroll产生滚动动画,动画结束时才会调用 -(void)...当滑动到最低端时,提示用户上拉加载更多。2. 当滑动到最低端时,自动加载下一页内容。...会显示1.1万,当小于1万时就显示具体数字,当为0时,就显示顶,或者踩等汉字。...-(void)setUpButton:(UIButton *)button Number:(NSInteger)number Placeholder:(NSString *)placeholder {
XLPlainFlowLayout - 可以让UICollectionView的标题也支持悬停效果,类似于tableView的普通风格。...TYPagerController - 简单,支持定制,页面控制器,可以滚动内容和标题栏,包含多种风格。...TabBarController,支持自定义TabBarItem样式或添加动画 隐藏与显示 SlideTapBar - 滚动栏菜单,向上滚动时隐藏tabbar,向下滚动马上显示tabbar。...DCPathButton - Path,4.0的弹出菜单,呼出或者关闭菜单时,多个小图标会分别按照逆时针和顺时针的方向进行滚动。...MediumScrollFullScreen - Medium的可扩展滚动页面,上下滚动时,全屏显示内容,并自然消隐上下菜单。
1. tableView下方出现莫名的空白 tableFooterView问题 一般来说,tableview会默认有一个footerview 解决:在视图加载时将这个footerview设为没有高度或者是空...view就可以 tableView.footerView = UIView() tableView.footerView.height = 0 contentSize自动计算问题 tableView会有一个自动计算..._IBBrokenImage_报错问题 storyboard中存在丢失的图片问题、(可能原先存在于Assets文件夹、后来丢失、或是Contents.json中有,但是图片资源不存在) xcode生成了代码方式的图片...改成用 UIButton Action的方式有效,仔细搜索并分析发现问题主要是 在viewdidload周期内的segue会被最后更新的UI视图覆盖掉、也就是当前页面的主视图。所以看不出效果。...动态切换tableViewCell类型/模板时没有反应 需要在切换tableViewCell类型之前先定义好style 否则会没有效果
Swift| 基础语法(一) Swift| 基础语法(二) Swift| 基础语法(三) Swift| 基础语法(四) Swift| 基础语法(五) 本文涉及: 纯代码创建应用根试图 UILabel、UIButton...makeKeyAndVisible() return true } 二、UILabel、UIButton、UIImageView的使用 let mylabel = UILabel(frame...tableFooterView = UIView() } func tableView(_ tableView: UITableView, numberOfRowsInSection section:...} 在Swift中,创建tableViewCell的方法可以分为两种创建tableView时候注册和需要使用时手动创建。先聊聊创建tableView的时候直接注册cell: myTb?....vc02.title = "发现" let nav02 = UINavigationController(rootViewController: vc02) // 设置标题
UILabel UITableView 背景色 tableView.backgroundColor = UIColor(hexString: "#f3f3f3", alpha: 0.6); 分割线 tableView.separatorStyle...= UITableViewCellSeparatorStyle.SingleLine; 內边距 self.tableView.contentInset = UIEdgeInsetsMake(0, 0,...UITableViewCellAccessoryType.DisclosureIndicator; 取消选中样式 cell.selectionStyle = UITableViewCellSelectionStyle.None; UIButton...标题 statusButton.setTitle("已完成", forState: UIControlState.Normal); secButton.setTitle("已评价", forState...= [UIColor colorWithRed:56.0/255 green:173.0/255 blue:255.0/255 alpha:1]; UINavigationBar(页面设置) 设置标题颜色
TableViewCell配置部分,只有当cell将要出现在屏幕上时才会出现,并且只拉取当前行的行高,这两种场景会在用户滑动TableView时不断被执行,并且根据UITableView的布局cell原理...至于为何UITableView在进行配置时也需要拉取所有的行高数据,我猜想其为了进行视图的一些初始化操作,例如表视图右侧滚动条的宽度和所占比例等。...= self; _tableView.dataSource = self; //设置一个模糊的行高用于配置TableView右侧滚动条 _tableView.estimatedRowHeight...= 60; [self.view addSubview:_tableView]; titleArray = @[@"标题1",@"标题2",@"标题3",@"标题4",@"标题5",@...关于细节方面,还有一个问题需要注意,预估的行高会影响到TableView右侧滚动条的展现,如果每个cell行高跳跃跨度十分大,滚动条宽度的配置会失准,随着用户滑动表视图,右侧滚动条可能会出现长短跳跃的情况
= [UIButton buttonWithType:UIButtonTypeContactAdd]; UITableView的两种样式只读属性 只读属性,在代码中不能修改 UITableViewStylePlain...要解决该问题,需要重用UITableViewCell对象 重用原理:当滚动列表时,部分UITableViewCell会移出窗口,UITableView会将窗口外的UITableViewCell放入一个对象池中...当UITableView要求dataSource返回UITableViewCell时,dataSource会先查看这个对象池,如果池中有未使用的UITableViewCell,dataSource会用新的数据配置这个...所以一个UITableView可能拥有不同类型的UITableViewCell,对象池中也会有很多不同类型的UITableViewCell,那么UITableView在重用UITableViewCell时可能会得到错误类型的...当UITableView要求dataSource返回UITableViewCell时,先通过一个字符串标识到对象池中查找对应类型的UITableViewCell对象,如果有,就重用,如果没有,就传入这个字符串标识来初始化一个
HQAViewController { override func tableView(_ tableView: UITableView, numberOfRowsInSection...如果一个类没有任何父类,在开发时需要输出调试信息,需要遵守如下规则: 遵守CustomStringConvertible协议 实现description方法 class HQStatusViewModel...关于性能的一点探讨 之前在didSet方法中设置时,如果是表格,每次滚出屏幕再滚动回来的时候都要重新执行didSet方法,重新计算。不断的消耗CPU。一定会多多少少影响一点性能的。...我先根据需要自定义封装了一个快速创建Button的Extension extension UIButton { /// 标题 + 字号 + 文字颜色 + 图片 + 背景图片 ///...bottomView.viewModel = viewModel } } 效果如下所示 因为这里需要对返回数据进行处理,并且不同情况有不同的显示情况 如果数量 == 0, 显示默认标题
之前面试遇到了一个问题: 长按到UIButton时,UITableView滑动不了,有遇到过么?(怎么解决?) 估计是当前面试官描述的不够清楚,然后我没有印象,也没理解他说的是什么。...以下是解决办法: 1、无法滑动的问题 当点击到TableViewCell上的Button时,就无法滑动TableView。...解决的办法是:自定义一个TableView继承自UITableView,并重写以下方法: override func touchesShouldCancel(in view: UIView) -> Bool...{ return true } 2、highlight效果延迟问题: 当UIButton被添加在UITableViewCell上时,它的高亮状态切换会延时。...解决的办法是:将tableView的delaysContentTouches设置为false tableView.delaysContentTouches = false
先说需求:在tableView中每一行有一个删除按钮,点击删除当前行。...]; _tableView.delegate = self; _tableView.dataSource = self; [self.view addSubview...- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath...; cell.timeLabel.text = @"2016-4-20"; cell.titleLabel.text = [NSString stringWithFormat:@"新闻标题...deleteButtonKey, indexPath, OBJC_ASSOCIATION_COPY_NONATOMIC); return cell; } //删除行 - (void)deleteRow:(UIButton
领取专属 10元无门槛券
手把手带您无忧上云