UIScrollView添加多个UIViewController,并进行左右滑动,相关代码如下:
@interface DiscoverHomeViewController ()<UIScrollViewDelegate>{ DiscoverHotViewController *_hotVc; DiscoverPageViewController *_discoverVc; } @property (strong,nonatomic) UIScrollView *scrollView; @end @implementation DiscoverHomeViewController - (void)viewDidLoad { [super viewDidLoad]; [self initUI]; } /* 初始化UI */ - (void) initUI{ _scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 64, self.view.bounds.size.width,self.view.bounds.size.height - 64)]; _scrollView.bounces = NO; _scrollView.showsHorizontalScrollIndicator = NO; _scrollView.showsVerticalScrollIndicator = NO; _scrollView.pagingEnabled = YES; _scrollView.scrollEnabled = NO; _scrollView.contentOffset = CGPointMake(0, 0); _scrollView.contentSize = CGSizeMake(_scrollView.bounds.size.width * 2, _scrollView.bounds.size.height); _scrollView.delegate = self; _scrollView.backgroundColor = [UIColor yellowColor]; //热门页面 _hotVc = [StoryboardUtil getVCWithSbIden:@"Discover" identify:@"DiscoverHotViewController"]; [_hotVc.view setFrame:CGRectMake(0, 0, _scrollView.bounds.size.width, _scrollView.bounds.size.height)]; [_scrollView addSubview:_hotVc.view]; [self addChildViewController:_hotVc]; //发现页面 _discoverVc = [StoryboardUtil getVCWithSbIden:@"Discover" identify:@"DiscoverPageViewController"]; [_discoverVc.view setFrame:CGRectMake(_scrollView.bounds.size.width, 0, _scrollView.bounds.size.width, _scrollView.bounds.size.height)]; [_scrollView addSubview:_discoverVc.view]; [self addChildViewController:_discoverVc]; //添加scrollView [self.view addSubview:_scrollView]; } /* 热门 */ - (IBAction)btnHotAction:(id)sender { //设按钮颜色 [self.btnDiscover setTitleColor:ContentTextColor forState:UIControlStateNormal]; [self.btnHot setTitleColor:[ColorUtil colorFromHexRGB:@"#000000"] forState:UIControlStateNormal]; [_scrollView setContentOffset:CGPointMake(0, 0) animated:YES]; } /* 发现 */ - (IBAction)btnDiscoverAction:(id)sender { //设按钮颜色 [self.btnDiscover setTitleColor:[ColorUtil colorFromHexRGB:@"#000000"] forState:UIControlStateNormal]; [self.btnHot setTitleColor:ContentTextColor forState:UIControlStateNormal]; [_scrollView setContentOffset:CGPointMake(_scrollView.bounds.size.width, 0) animated:YES]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
相关推荐
总的来说,iOS应用中的多个UIViewController之间滑动切换涉及到了对UIViewController、UIPageViewController、UIScrollView等组件的理解,以及手势识别、页面管理等多方面的知识。通过熟练掌握这些技术,开发者可以...
在iOS开发中,滑动切换标签是一种常见的交互方式,它能帮助用户在多个视图间轻松切换,提高应用的用户体验。本Demo "分享iOS一个滑动切换标签的Demo" 将展示如何实现这一功能,主要涉及到的技术点包括自定义滚动视图...
在这个“ios-UIScrollView.zip”压缩包中,包含了一个名为“WLScrollView”的示例项目,该示例可能展示了一种特定的UIScrollView实现,即在滑动到页面边缘时显示箭头和文字,并在用户继续滑动并释放手指时能够跳转到...
我们可以使用`UITableView`或`UICollectionView`作为`UIScrollView`的子类,它们自动处理了多个单元格的布局和滚动,简化了实现过程。 在Xcode中,首先创建一个新的`UIViewController`,然后在故事板或代码中添加一...
在实现视图滑动切换时,通常会有一个父控制器(如UITabBarController或UINavigationController)来管理多个子控制器,每个子控制器对应一个可滑动的视图。 接着,我们需要利用UIScrollView。UIScrollView是一个可以...
在iOS开发中,实现左右滑动切换视图是一种常见的用户界面设计,它为用户提供了一种直观、便捷的方式来浏览多个相关的屏幕或内容。标题中的“IOS 左右滑动切换视图”指的是通过滑动手势在多个视图之间进行平滑过渡,...
在实现"UIScrollView+UIPageController"的组合时,我们首先要创建一个包含多个页面的数组,每个页面通常是一个`UIViewController`的子类,其视图可能包含一张图片或其他内容。然后,我们需要配置`UIPageController`...
通过设置contentSize属性,我们可以定义这个内容视图的尺寸,使其能够容纳多个图片。同时,通过设置scrollIndicatorInsets和contentInset,我们可以调整滚动条的位置和内容的初始偏移。 接着,实现图片轮播。这通常...
首先,`UIScrollView` 是苹果提供的一个基础UI组件,它可以包含多个子视图,并且当内容超出屏幕时,用户可以滑动查看隐藏的部分。`UIScrollView` 的主要属性包括内容尺寸(contentSize)和可滚动区域...
首先,我们在`viewDidLoad`方法中创建一个UIScrollView实例,并设置其frame与父视图(通常是UIViewController的view)的bounds相同。设置`bounces`为NO,防止边缘弹跳效果;`pagingEnabled`设为YES,使ScrollView...
配合 `UIPageControl` 和 `NSTimer`,我们可以实现类似轮播图的效果,即循环播放多个视图。这个项目可能是一个简单的教程,通过 `UIScrollView` 实现图片或内容的自动切换,并通过 `UIPageControl` 显示当前所在的...
当你在应用中看到一个可以滑动的页面,背后往往有一个或多个UIViewController在工作。它们负责加载视图、响应用户交互并管理数据。 接下来,**UIScrollView** 是实现滑动效果的核心控件。它允许用户在内容超过屏幕...
- 使用UIScrollView作为基础容器,它可以承载多个子视图,并通过滑动来显示不同界面。 - 设置UIScrollView的contentSize,使其宽度等于屏幕宽度乘以xib界面的数量,这样滑动时可以显示下一个界面。 - 添加...
3. **滚动同步**:如果页面上有多个滚动视图或者需要与导航栏或工具栏联动,可以通过`scrollViewDidScroll:`代理方法实现滚动同步。这样,当一个视图滚动时,其他视图可以跟随其滚动,达到元素“固定”的视觉效果。 ...
在移动应用开发中,"左右...总的来说,实现“左右侧滑,中间滑动”的功能涉及到了移动应用开发中的Tab布局、滑动事件处理、页面动画等多个方面。通过合理的组件选择和自定义,我们可以构建出既美观又流畅的交互体验。
为了实现页面滑动,我们可以将多个子视图(例如UIView或UIViewController的视图)添加到UIScrollView中,每个子视图代表一个“页面”。关键在于设置contentSize的宽度为子视图总宽度的倍数,这样用户就可以水平滑动...
5. **UIViewController的Container View**:为了管理多个视图,开发者可能使用了UIViewController的Container View特性,这允许在一个UIViewController内嵌套其他VC,实现视图间的交互和切换。 6. **手势识别...
UIScrollView是一个可以滚动显示大内容视图的容器,它可以容纳多个子视图,并且允许用户通过滑动手势来滚动查看这些子视图。而UIPageViewController则专门设计用来在多个视图之间进行平滑的页面翻转效果,适合于需要...
这种效果通常由一个可滚动的容器视图(如UIScrollView或其子类)承载多个子视图(每个视图代表一个页面),并通过手势识别和视图控制器的切换来实现平滑的页面滑动。下面将详细解释这一过程的关键知识点。 1. **...
2. **UIScrollView**:通过嵌套多个UIView或者UIViewController的视图,配合手势识别,也可以实现滑动切换效果。这种方式灵活性高,但需要手动处理更多的逻辑。 3. 第三方库:例如`SwiperKit`、`iCarousel`等,它们...