首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当使用Objective C增加Tableview高度时,动态增加UIView高度?

当使用Objective C增加Tableview高度时,动态增加UIView高度的方法如下:

  1. 首先,需要在Tableview的数据源方法中动态计算Tableview的高度。可以通过计算数据源中的行数,乘以每行的高度,再加上其他需要的高度,得到Tableview的总高度。
  2. 接下来,需要在Tableview的代理方法中设置Tableview的高度。可以通过调用Tableview的setFrame:方法,将Tableview的高度设置为计算得到的总高度。
  3. 然后,需要在UIView中添加Tableview,并将Tableview的高度设置为动态增加的高度。

示例代码如下:

代码语言:objective-c
复制
// 计算Tableview的高度
CGFloat tableViewHeight = [dataArray count] * rowHeight + additionalHeight;

// 设置Tableview的高度
[tableview setFrame:CGRectMake(tableview.frame.origin.x, tableview.frame.origin.y, tableview.frame.size.width, tableViewHeight)];

// 添加Tableview到UIView中
[view addSubview:tableview];

在上述代码中,dataArray是Tableview的数据源数组,rowHeight是每行的高度,additionalHeight是其他需要的高度。

这样,当使用Objective C增加Tableview高度时,可以动态增加UIView的高度。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【IOS开发基础系列】Table View开发专题

其中的特例包括背景色,它的alpha值应该为1(例如不要使用clearColor);图像的alpha值也应该为1,或者在画图设为不透明。...因此在cell不可见,可以将其缓存起来,而在需要继续使用它即可。...现在将C函数调用生成UIImage放到B函数中生成并使用,这样就能得到及时释放。 2.4.1.6 不要阻塞主线程。        ...解决办法就是使用多线程,让子线程去执行这些函数或方法。这里面还有一个学问,当下载线程数超过2,会显著影响主线程的性能。...当然,在不需要响应用户请求,也可以增加下载线程数,以加快下载速度: - (void) scrollViewDidEndDragging: (UIScrollView*) scrollView willDecelerate

34420

iOS-TableView统一数据源代理

section: Int) -> UIView?...{ return nil } func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView...(at: indexPath, animated: true) } 如果上面的代码在每个VC中都实现一次,不仅写了很多的重复的代码,还增加了VC的复杂度,所以我在想能不能有一个统一的代理类,我们的TableView...也可以根据section来动态返回 尾部高度:footer的高度,可以是定值,也可以根据section来动态返回 行高:这里的行高可以通过data来获取,这样利于做高度缓存,也可以通过indexPath...当然也可以重复设置,不过此时后面的会覆盖前面的 通过上面的方法,我们只需要创建一个CCDataSource实例,就可以在一个方法中将所有的TableView代理实现,而且在第5步,我们就将cell与

91910
  • iOS开发中行高灵活可变的UITableView的性能优化

    以iOS9为例,一行cell要展示在屏幕上,至少要执行5遍TableView的heightForRowAtIndexPath方法: TableView配置部分: ① TableView视图即将展现在屏幕上...TableViewCell配置部分: ④使用cellID进行与TableView绑定的cell获取时会拉取本行cell的高度数据。 ?...执行TableView的reloadData方法进行界面刷新,系统先会把所有行的行高数据拉取一遍,之后和UITableViewCell配置部分的场景一直,会拉取即将出现在屏幕上的cell的行高数据。...在开发中通常会遇到一些十分复杂的界面,而这些界面中cell的高度都是需要通过请求到的数据动态改变的,每个cell都要写复杂的尺寸计算代码十分令人心烦。...estimatedHeightForHeaderInSection:(NSInteger)section{ return 10; } //使用自动布局给头视图添加足够的布局压力 -(UIView

    2K20

    模拟京东商城实现导航条隐藏功能

    View的高度) ①.界面上移的时候 - 隐藏的导航View显示: 4.png 原理色的导航条View显示 按钮View下移 tableView下移 tabView高度 -- (减去刚刚++的导航条View...思路2: 使用KVO,监听tableVIew的滚动,监听两个值 - NSKeyValueObservingOptionOld && NSKeyValueObservingOptionNew,通过新旧值的...这里使用的就是思路2的方法: a.隐藏系统默认的导航条View,然后自定义和导航条一模一样的UIView上去 [self.navigationController setNavigationBarHidden...上移导航条View的高度 - Y值改变 && 高度 增加导航条的view的高度 CGRect tempTableViewFrame = _tableView.frame;...,其实是按钮VC里面的- [btn->内部VC的view addsubView:tableVIew] 所以简单的说,就是tableVIew和其他的View不在同一个控制器里 思路:跨控制器传值 (这里打算使用

    1.8K120

    AsyncDisplayKit 2.0 教程:入门「译」

    对象生命周期:创建,操纵和销毁系统对象(即创建一个UIView正确使用时,AsyncDisplayKit 允许您在默认情况下异步执行所有测量、布局和渲染。...在第二部分中,你将学习如何构建自己 node 的 subclass,以及如何使用ASDK强大的布局引擎。为了更好的完成本教程,你需要会使用 Xcode 以及 熟悉 Objective-C。...Objective-C。...免费App排行榜前100大多数都没有使用Swift(至少6个使用ASDK)。出于这些原因,本系列将重点介绍 Objective-C。话虽这么说,我们已经包括了一个Swift版本的实例项目。...这是cell的每个 subNode (例如ASNetworkImageNode) 的内容从外源加载,例如API和本地缓存。这与批量获取使用用模型对象代表cell本身形成对比。

    2.2K20

    浅汇-iOS UI布局

    使用了这么久,       对于父试图是  Button / UITextFeild等非UIView的直接子类,布局其子视图,这里面的约束是不生效的。...2、实现了UIView内子视图的自动布局; 3、实现了UIScrollView内容高度根据内部子视图的内容高度动态设置; 4、实现了一个UITableView有多个不同Cell的时候,所有cell高度自适应...父试图的高度没有定义的时候,需要使用一下方法来自动布局,并且这个时候不可以再以父试图的底为标准来设置其内部子视图,这是一种【从里到外】的布局思路,cell的自适应高度也是这种思路;平时我们的思路都是一种...实现了UIScrollView可滚动高度根据内部子视图的内容高度动态设置 /** 设置scrollview内容自适应,第一个参数为作为底部的子视图,第二个参数为到sc底部的间距。...)参照view 和 (CGFloat)间距数值  `这个参照View是他的父试图,leftSpaceToView就表示当前这个试图的左边到父试图左边的距离,这个试图是同一层级的参照的话,就表示当前试图的左边到参照试图右边的距离

    2.1K20

    2018 - iOS 面试题汇总一般面试题BAT面试题

    希望可以帮到正在或者准备面试的你,同时我也可以自己在过一遍一般面试题 1.堆和栈的区别 1.内存管理范围 只有oc对象需要进行内存管理 非oc对象类型比如基本数据类型不需要进行内存管理 2.内存管理本质 因为:Objective-C...不同的行的高度不一样,尽量缓存它们的高度值。 如果 Cell 展示的内容来自网络,确保用异步加载的方式来获取数据,并且缓存服务器的 response。...runloop是来管理线程的,线程的runloop被开启后,线程会在执行完任务后进入休眠状态,有了任务就会被唤醒去执行任务。 runloop在第一次获取被创建,在线程结束被销毁。...,都有哪些方案 1、你的Cell要使用AutoLayout来布局约束这是必须的; 设置tableview的estimatedRowHeight为一个非零值,这个属性是设置一个预估的高度值,不用太精确。...3.遇到tableView卡顿嘛?会造成卡顿的原因大致有哪些? 4.M、V、C相互通讯规则你知道的有哪些? 5.NStimer准吗?谈谈你的看法?

    6.4K30

    你可能需要为你的 APP 适配 iOS 11

    自从引入layout margins,将一个view添加到viewController,viewController会修复view的layoutMargins为UIKit定义的一个值,这些调整对外是封闭的...的值,当你的viewController改变了它的safeAreaInsets值,有两种方式获取到回调: UIView.safeAreaInsetsDidChange() UIViewController.viewSafeAreaInsetsDidChange...类型,使用该类型,如果是右滑操作,一直向右滑动某个cell,会直接执行删除操作,不用再点击删除按钮,这也是一个好玩的更新。...高度较小时,会只显示image,不显示title,cell高度够大,会同时显示image和title。...我写demo测试的时候,因为每个cell的高度都较小,所以只显示image,然后我增加cell的高度后,就可以同时显示image和title了。见下图对比: ?

    1.7K60

    MyLayout&TangramKit 的重大升级!

    一个视图有自己的固有内容尺寸,就不需要再为视图设置宽度或者高度约束。这也就是为什么一般情况下不对UILabel视图设置宽度和高度约束系统也能正常完成布局。...比如一些界面中有父视图的尺寸由子视图的尺寸来确定的;还比如UIScrollView中为了能实现滚动需要根据添加到里面的子视图来调整contentSize的尺寸;又比如某些UITableViewCell中的高度动态的...那就是添加或者删除子视图以及调整了某个子视图的位置和尺寸就需要重新调整父视图的自适应约束设置。...,这里不需要设置高度约束,因为使用了布局视图的高度自适应属性。...因为布局视图重载intrinsicContentSize方法,因此将某个布局视图作为UITableViewCell的子视图如果想使用布局视图的尺寸自适应的能力,只需要将布局视图的尺寸设置为wrap即可

    2.1K20

    iOS工程师必看的 20 道 面试题

    一个对象被声明为 strong ,就表示父层级对该对象有一个强引用的指向。此时该对象的引用计数会增加1。 weak 代表着弱引用。...对象被声明为 weak ,父层级对此对象没有指向,该对象的引用计数不会增加1。它在对象释放后弱引用也随即消失。继续访问该对象,程序会得到 nil,不亏崩溃 unowned 与弱引用本质上一样。...简单来说,就是两个对象互相有一个强指向去指向对方,这样导致两个对象在内存中无法释放。 weak 和 unowned 的使用场景有如下差别: 访问对象该对象可能已经被释放了,则用 weak。...谈谈对Objective-C和Swift 动态特性的理解 runtime其实就是Objective-C动态机制。...具体过程是在Objective-C中对象调用方法,如self.tableview reload,发生了两件事。

    3.8K40

    六天完成一个简单iOS App - 第六天

    NSInteger)section 但是为了能够使heardView更加丰富,可以直接返回UIview -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection...setFrame中对cell的位置和宽高同时做修改时,建议使用一个UIView当做载体,heardView上添加UIViewUIView上在添加cell,此时cell的setFrame不会对UIView...但是这里存在两个问题 此时最热评论虽然没有了,但是那部分会被空出来,这是因为我们之前对cell的高度进行了缓存,设置cell高度,发现cellHeight不为零,则直接返回高度,不会重新计算。...因此我们这里将cellHeight设置为0,设置cell的cellHeight就会重新计算cellHeight。...button全部恢复完成的时候将self.time取消 [self.time invalidate]; 点击状态栏返回tableView顶部实现 点击状态栏的时候,tableView会自动滚动到最上方

    1.3K50

    iOS实例——滑动列表展现隐藏顶部视图

    在此基础上海加了一个隐藏列表动态渐入渐出效果,如下: 实现 实现的要点是,顶部的视图要随着列表的滚动而滚动,且列表最上是可以滚动到屏幕顶部的,最下就是滚动到一个固定的位置就不再往下滚动了,至于渐变效果只要能控制滚动自然也能控制随着滚动去改变...= self; self.tableView.dataSource = self; self.tableView.tableFooterView = [[UIView alloc] init...这里我们利用UIView的一个Delegate:willMoveToSuperview:,它会在我们的视图被添加到父视图上被调用,在这个代理方法中我们就添加对列表的contentoffset值的观察,...每次这个值变化时就调用处理方法: #pragma mark - UIView Delegate // 在被添加到界面上就添加对contentoffset的观察 - (void)willMoveToSuperview...第二件事是让顶部视图随着移动而渐变,移动到最高彻底透明,移动到最低不透明,这个alpha值也是根据移动的值来计算的: - (void)updateSubViewsWithScrollOffset:

    1.8K10
    领券