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

UITableViewCell系列之(二)视觉差滚动效果前言

visionDiff.gif 步骤 备注: demo中cell是用xib文件定义、布局的,而非代码的方式 自定义cell。...给cell的contentView添加一个UIImageView子控件 给imageView添加上下左右约束 给cell添加一个对象方法。...用于tableView滚动时,更新imageView的Y坐标值 在UIScrollViewDelegate的scrollViewDidScroll:方法里调用cell的对象方法,更新imageView的...控制器不能使UITableViewController,只能是UIViewController的view上添加一个UITableView ---- 3. demo中涉及到了坐标系转换的问题,不了解坐标系转换的可以参考如下两个方法的使用...: // - (CGRect)convertRect:(CGRect)rect toView:(nullable UIView *)view; // 把以A视图为坐标系的rect1转换为以B视图为坐标系的

6.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    UIScrollView

    @property(nonatomic,assign) idUIScrollViewDelegate> delegate; //9.一个bool值,用来决定是否在某一特定方向禁用滚动 @property...- (BOOL)touchesShouldCancelInContentView:(UIView *)view; //30.浮点值 指定可应用于滚动视图的内容的最低比例因子 @property(nonatomic...) CGFloat minimumZoomScale; //31.一个浮点值指定可用于滚动视图的内容的最大规模的因素 @property(nonatomic) CGFloat maximumZoomScale...; //32.一个浮点值 指定目前用于滚动视图的内容的比例因子 @property(nonatomic) CGFloat zoomScale NS_AVAILABLE_IOS(3_0); //33....3_0); //35.一个布尔值,决定当当缩放超过上限或是下限时是否滚动视图推动内容缩放 @property(nonatomic) BOOL bouncesZoom; //36.一个布尔值 指示内容是否认为正在方法或者缩小

    1.8K60

    UINavigationController 导航控制器概念属性方法

    概念 UINavigationController 继承于 UIViewController 包含:viewcontrollers、NavigationBar、Toolbar 导航控制器是一个堆栈结构,...*navigationItem; (2)push的时候隐藏底部栏,如push后隐藏tabbar @property(nonatomic) BOOL hidesBottomBarWhenPushed;...initWithNavigationBarClass:(nullable Class)navigationBarClass toolbarClass:(nullable Class)toolbarClass; (2)使用系统默认的导航栏和工具栏,创建一个导航控制器同时设置一个根视图控制器...这个方法是为了iOS方法的命名统一,在导航中,其作用和push一样 - (void)showViewController:(UIViewController *)vc sender:(nullable...viewController.hidesBottomBarWhenPushed = YES; [super pushViewController:viewController animated:animated]; } (2)弹出一个视图控制器

    2.2K60

    iOS开发UINavigation系列四——导航控制器UINavigationController

    initWithNavigationBarClass:(nullable Class)navigationBarClass toolbarClass:(nullable Class)toolbarClass; //使用系统默认的导航栏和工具栏,通过一个根视图创建导航控制器...; //弹出一个视图控制器 返回的是pop的controller - (nullable UIViewController *)popViewControllerAnimated:(BOOL)animated... NSArrayUIViewController *> *)popToRootViewControllerAnimated:(BOOL)animated; 三、导航控制器中的常用方法和属性...) BOOL hidesBarsWhenKeyboardAppears; //屏幕滑动的时候隐藏导航栏,常用于tableView,上滑隐藏导航栏,下滑显示,带动画效果 @property (nonatomic... *)fromVC toViewController:(UIViewController *)toVC ; 六、与UIViewController相关         当一个controller被添加到导航中后

    1.8K20

    仿淘宝类电商秒杀分页控件(附源码)

    前言 最近公司一个电商应用要实现一个类似淘宝淘抢购页面逻辑的功能,起初本来想找个第三方的组件,后面发现网上并没有类似的实现。所以后面决定自己封装一个,效果如下所示: ? 2....组件导入 组件支持直接将组件文件夹拖入工程和使用Pods管理两种方式导入: ▐ 3.1 直接将组件文件夹拖入工程方式 把 GFPageControler 文件夹拖到工程中,选择 copy ?...后来网上查找,从一篇文章中得到了灵感 视错觉结合UI。 原理: 原理其实很简单:就是弄两个视图,内容和位置一样,只是他们的文字颜色不一样而已!...GFPageViewController的实现主要是让菜单和添加的子控制器能够联动,核心代码如下: // 添加视图 - (void)setupContentView { [self.view...vc.view.frame = self.scrollView.bounds; [self.scrollView addSubview:vc.view]; } #pragma mark - UIScrollViewDelegate

    1.3K20

    如何在SwiftUI中实现interactiveDismissDisabled

    如何在SwiftUI中实现interactiveDismissDisabled 如想获得更好的阅读体验,可以访问我的博客www.fatbobman.com[1] 本文中我们将探讨如何实现一个SwiftUI...在今年推出的SwiftUI 3.0版本中,苹果添加了一个新的View扩展:interactiveDismissDisabled,该扩展实现了上面的第一个要求——通过代码控制是否允许手势取消Sheet。...默认情况下,展示(present)Sheet的视图控制器(UIViewController)是没有设置委托的。因此,只要将定义好的委托实例在视图中注入给特定的视图控制器即可实现以上需求。...注入 创建一个空的UIView(通过UIViewRepresentable),在其中查找到持有它的UIViewController A。...delegate = delegate } }} makeUIView中只需要创建一个空视图(UIView),由于在执行makeUIView时,无法保证Sheet中的视图已经被正常展示

    3.9K40

    UIViewController生命周期

    这需要我们在loadView 方法中,通过编程创建自己的视图层次,并且把把根视图赋值给UIViewController的view属性。...通过加载xib文件来创建UIViewController的view 如果没有找到相关联的xib文件,就会创建一个空白的UIView,然后赋值给UIViewController的view属性 默认不用实现...4、viewWillLayoutSubviews 即将开始子视图位置布局 5、ViewDidLayoutSubviews 用于通知视图的位置布局已经完成 6、ViewDidAppear 当viewWillAppear...在这个方法中,还可以对视图做一些关于展示效果方面的修改。...负责管理rootviewcontroller的生命周期 [self.window.rootviewcontroller=vc]; 4、KeyWindow 当前app可以打开的多个window 如系统状态栏其实就是一个

    2K10

    Cocoa编程中视图控制器与视图类详解

    进度与活动: UIActivityIndicatorView UIProgressView  控制器类 UIViewController类       UIViewController负责创建其管理的视图及在低内存的时候将它们从内存中移除...一切都是在被推入的UIViewController子类内部执行推入请求和相关导航栏的定制(如:右键按钮)。...)和栏标题(title)、用于显示标题的视图(titleView),以及用于从当前视图向后导航的Back按钮(backBarButtonItem)和隐藏后退按钮(hidesBackButton)。...,模态视图控制器用于选取数据。...不过,也可以视具体情况,我们直接在一个独立的视图控制器中创建UITabBarController实例对象,如自定义一个用于视图 切换的控制器类ViewSwitcherViewController,就可在其中的

    5.1K50

    VCTransitionsLibrary –自定义iOS交互式转场动画的库

    简介 VCTransitionsLibrary 提供了许多适用于入栈,出栈,模态等场景下控制器切换时的转场动画.它本身提供了一个定义好的转场动画库,你可以拖到自己工程中直接使用;也提供了许多拥有不同转场动画效果...交互控制器 – 这个类是用来管理交互的-那些通常由某个手势空控制的交互,允许用户通过滑动,轻扫或执行其他操作来实现两个视图控制器的导航.必须指出的是,交互控制器允许导航取消,例如,一个用户可以在正在导航至某一页面时...协议被用来在模态控制器显示/隐藏时提供一个动画控制器.当一个视图控制器被模态显示或隐藏时,它的transitioningDelegate属性用来提供UIViewControllerTransitioningDelegate...: // 实例变量,通常在你的初始化方法中初始化它们....*)fromVC toViewController:(UIViewController *)toVC { // 把交互控制器绑定到你的视图控制器上.

    1.6K60

    大前端开发中的路由管理之四:iOS篇

    应用默认的UINavigationController的第一个view controller是根视图控制器,即 root view controller,放在stack的最底层,最新的在最高层。...一张图概括NavigationController的结构 3.2 通用的页面切换方式         容器类的ViewController通过一个特定的结构来实现多层级管理,但并不是所有页面都能确保是在同一个容器中...3.4 状态的保存和回溯         从源码中可以发现ViewController实现了一个叫做UIStateRestoring的协议,所以持有一个叫做restorationIdentifier的属性...如果自己实现一个容器类的ViewController,就需要自己去给子视图控制器编码,保证每一个都必须是有独一无二的 restorationIdentifier。...但是内存有限制,如果进程根据didReceiveMemoryWarning的警告清理了内存却还是不够,应用就会崩溃。

    1.9K40

    iOS翻页视图控制器UIPageViewController的应用

    iOS翻页视图控制器UIPageViewController的应用 一、引言     UIPageViewController是iOS中少见的动画视图控制器之一,通过它既可以创建类似UIScrollView...UIPageViewController类似一个视图容器,其中每个具体的视图由各自的ViewController进行维护管理,UIPageViewController只进行协调与动画布置。...UIPageViewController把从DataSource中获取到的视图数据渲染给View用于当前视图控制器的展示。...二、创建一个UIPageViewController     首先新建一个类作为翻页视图控制器中具体每一页视图的控制器,使其继承于UIViewController: ModelViewController.h... 用于滚动视图风格的 NSString * const UIPageViewControllerOptionInterPageSpacingKey; 下面是UIPageViewController的一些常用属性与方法

    2.2K10

    移动端性能优化实战:提升iOS、Android与HarmonyOS应用的响应速度与用户体验

    一、Android端的代码优化案例1.1 优化内存使用在Android应用中,内存泄漏常常导致应用崩溃或响应迟缓。一个常见的优化方式是通过减少对象的持有时间来避免内存泄漏。...下面的代码示例展示了如何在RecyclerView中优化内存使用。...五、进一步优化:网络请求和数据处理在移动端开发中,如何优化网络请求和数据处理也是提升性能的一个关键点。网络延迟、带宽限制以及数据解析是常见的性能瓶颈。以下将针对这方面提供优化案例。...5.2 优化数据处理:使用高效的数据结构数据处理是移动端应用中另一个重要的性能优化点,尤其是在处理大数据量时,合理选择数据结构能够显著提高应用的响应速度。...使用缓存技术(如OkHttp中的缓存功能)来存储重复请求的数据,从而减少不必要的网络负担。

    45320

    UIScrollView

    frame是视图在屏幕中展示的位置和大小,也就是可视区域的位置和大小。 contentSize是scrollView视图的内部内容可以滚动的区域大小,也就是scrollView视图内容的实际大小。...UIScrollView的一些常用的代理方法如下: #pragma mark - UIScrollViewDelegate //监听页面滚动,根据scrollView.contentOffset来做业务逻辑...用于页面滚动停止的时候开启一个逻辑,比如视频自动播放(页面停止滚动后,开启视图滚动前暂停的gif或者视图的播放) - (void)scrollViewDidEndDecelerating:(UIScrollView...上图是我在知乎首页的一个截图。 首先,整个从上而下它是一个tableView+collectionView。...(内容列表是tableView,“关注、推荐、热榜”标题栏是一个collectionView) 然后,“关注、推荐、热榜”每一个标题栏都对应一个tableView,一共有3个tableView,这三个tableView

    90520

    唯一可行的 iOS 架构

    如何将视图划分为 View 和 Controller?通常,它也适用于 iOS,甚至包含 UIView 和 UIViewController 的 iOS SDK。...每个 UIViewController 都拥有一个根 UIView。我们可以在 interface builder 中绘制视图而无需任何代码,并将所有用户操作链接到UIViewController。...您已经了解了什么是真正的 MVC,以及如何在 iOS 中使用它。此外,使用自己的体系结构与 iOS 平台抗衡几乎是不可能的。...因此,尝试创建一个新的 Presenter 类并将 UIViewController 视为一个视图是没有意义的。...由于许多应用程序逻辑不属于模型或视图,因此通常会在控制器中处理。这导致了一个称为 Massive View Controller 的问题,在该问题中,视图控制器最终会做太多事情。

    1.3K20

    Swift:静态工厂方法

    此外,由于扩展名可以限制为单个文件(通过添加private关键字),因此我们可以轻松地为需要创建特定视图的应用程序部分设置扩展名,只有一个功能即可: //我们只会在单个视图控制器中使用它,因此我们将范围设为私有...虽然我们可能无法完全摆脱视图控制器(或与此相关的视图)的子类化,但是某些类型的视图控制器可以从工厂方法中受益。...在这里,我们使用这种方法来实现一个计算属性,该属性返回一个加载视图控制器,用于显示加载旋转框: extension UIViewController { static var loading:...就像用于视图一样,工厂方法为我们提供了非常干净的调用方式。...通过命名上述工厂方法makeStub,我们还可以清楚地知道此代码仅用于测试,因此将来不会意外将其添加到我们的主要应用程序目标中。

    2.4K10

    iOS好用的第三方侧边栏控件——MMDrawerController

    ; //设置右侧边栏的最大宽度 默认280 @property (nonatomic, assign) CGFloat maximumRightDrawerWidth; //这个是一个只读属性,用于获取可见的左侧边栏宽度...@property (nonatomic, assign, readonly) CGFloat visibleLeftDrawerWidth; //这个是一个只读属性,用于获取可见的右侧边栏宽度 @property...* drawerController, MMDrawerSide drawerSide, CGFloat percentVisible))drawerVisualStateBlock; //这个方法用于设置当一个手势触发完成后的回调...duration:(NSTimeInterval)duration __attribute((objc_requires_super)); 四、一些辅助类         MMDrawerController框架中还提供了一个...前面有提到,侧边栏的展现动画开发者可以进行自定义,为了使开发者在使用MMDrawerController时更加方便,MMDrawerController框架中还提供了一个动画辅助类MMDrawerVisualState

    2.9K20
    领券