`
wenxin2009
  • 浏览: 320493 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UIScrollView添加多个UIViewController并滑动

    博客分类:
  • ios
 
阅读更多

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-iOS 多个UIViewController之间滑动切换.zip

    总的来说,iOS应用中的多个UIViewController之间滑动切换涉及到了对UIViewController、UIPageViewController、UIScrollView等组件的理解,以及手势识别、页面管理等多方面的知识。通过熟练掌握这些技术,开发者可以...

    分享iOS一个滑动切换标签的Demo

    在iOS开发中,滑动切换标签是一种常见的交互方式,它能帮助用户在多个视图间轻松切换,提高应用的用户体验。本Demo "分享iOS一个滑动切换标签的Demo" 将展示如何实现这一功能,主要涉及到的技术点包括自定义滚动视图...

    ios-UIScrollView.zip

    在这个“ios-UIScrollView.zip”压缩包中,包含了一个名为“WLScrollView”的示例项目,该示例可能展示了一种特定的UIScrollView实现,即在滑动到页面边缘时显示箭头和文字,并在用户继续滑动并释放手指时能够跳转到...

    不间断滑动的UIScrollViw的使用例子

    我们可以使用`UITableView`或`UICollectionView`作为`UIScrollView`的子类,它们自动处理了多个单元格的布局和滚动,简化了实现过程。 在Xcode中,首先创建一个新的`UIViewController`,然后在故事板或代码中添加一...

    ios应用源码之效果不错的view视图滑动切换效果 2018128

    在实现视图滑动切换时,通常会有一个父控制器(如UITabBarController或UINavigationController)来管理多个子控制器,每个子控制器对应一个可滑动的视图。 接着,我们需要利用UIScrollView。UIScrollView是一个可以...

    IOS 左右滑动切换视图

    在iOS开发中,实现左右滑动切换视图是一种常见的用户界面设计,它为用户提供了一种直观、便捷的方式来浏览多个相关的屏幕或内容。标题中的“IOS 左右滑动切换视图”指的是通过滑动手势在多个视图之间进行平滑过渡,...

    UIScrollView+UIPageController

    在实现"UIScrollView+UIPageController"的组合时,我们首先要创建一个包含多个页面的数组,每个页面通常是一个`UIViewController`的子类,其视图可能包含一张图片或其他内容。然后,我们需要配置`UIPageController`...

    iOS开发中使用UIScrollView实现图片轮播和点击

    通过设置contentSize属性,我们可以定义这个内容视图的尺寸,使其能够容纳多个图片。同时,通过设置scrollIndicatorInsets和contentInset,我们可以调整滚动条的位置和内容的初始偏移。 接着,实现图片轮播。这通常...

    iphone开发的一个UIScrollView效果

    首先,`UIScrollView` 是苹果提供的一个基础UI组件,它可以包含多个子视图,并且当内容超出屏幕时,用户可以滑动查看隐藏的部分。`UIScrollView` 的主要属性包括内容尺寸(contentSize)和可滚动区域...

    iOS基于UIScrollView实现滑动引导页

    首先,我们在`viewDidLoad`方法中创建一个UIScrollView实例,并设置其frame与父视图(通常是UIViewController的view)的bounds相同。设置`bounces`为NO,防止边缘弹跳效果;`pagingEnabled`设为YES,使ScrollView...

    UIScrollView + UIPageControl +NSTimer 做循环播放View

    配合 `UIPageControl` 和 `NSTimer`,我们可以实现类似轮播图的效果,即循环播放多个视图。这个项目可能是一个简单的教程,通过 `UIScrollView` 实现图片或内容的自动切换,并通过 `UIPageControl` 显示当前所在的...

    iphone 手机效果

    当你在应用中看到一个可以滑动的页面,背后往往有一个或多个UIViewController在工作。它们负责加载视图、响应用户交互并管理数据。 接下来,**UIScrollView** 是实现滑动效果的核心控件。它允许用户在内容超过屏幕...

    多个xib界面切换

    - 使用UIScrollView作为基础容器,它可以承载多个子视图,并通过滑动来显示不同界面。 - 设置UIScrollView的contentSize,使其宽度等于屏幕宽度乘以xib界面的数量,这样滑动时可以显示下一个界面。 - 添加...

    iphone区域滑动

    3. **滚动同步**:如果页面上有多个滚动视图或者需要与导航栏或工具栏联动,可以通过`scrollViewDidScroll:`代理方法实现滚动同步。这样,当一个视图滚动时,其他视图可以跟随其滚动,达到元素“固定”的视觉效果。 ...

    左右侧滑,中间滑动

    在移动应用开发中,"左右...总的来说,实现“左右侧滑,中间滑动”的功能涉及到了移动应用开发中的Tab布局、滑动事件处理、页面动画等多个方面。通过合理的组件选择和自定义,我们可以构建出既美观又流畅的交互体验。

    ios-页面滑动.zip

    为了实现页面滑动,我们可以将多个子视图(例如UIView或UIViewController的视图)添加到UIScrollView中,每个子视图代表一个“页面”。关键在于设置contentSize的宽度为子视图总宽度的倍数,这样用户就可以水平滑动...

    IOS应用源码Demo-效果不错的view视图滑动切换效果-毕设学习.zip

    5. **UIViewController的Container View**:为了管理多个视图,开发者可能使用了UIViewController的Container View特性,这允许在一个UIViewController内嵌套其他VC,实现视图间的交互和切换。 6. **手势识别...

    IOS应用源码——可以用手指左右滑动切换视图的效果demo.zip

    UIScrollView是一个可以滚动显示大内容视图的容器,它可以容纳多个子视图,并且允许用户通过滑动手势来滚动查看这些子视图。而UIPageViewController则专门设计用来在多个视图之间进行平滑的页面翻转效果,适合于需要...

    swift-类似微博简书网易云个人主页的页面滑动效果

    这种效果通常由一个可滚动的容器视图(如UIScrollView或其子类)承载多个子视图(每个视图代表一个页面),并通过手势识别和视图控制器的切换来实现平滑的页面滑动。下面将详细解释这一过程的关键知识点。 1. **...

    ios-滑动切换视图.zip

    2. **UIScrollView**:通过嵌套多个UIView或者UIViewController的视图,配合手势识别,也可以实现滑动切换效果。这种方式灵活性高,但需要手动处理更多的逻辑。 3. 第三方库:例如`SwiperKit`、`iCarousel`等,它们...

Global site tag (gtag.js) - Google Analytics