热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【代码笔记】iOS底下滚动,上面标题栏也会跟着变动

一,效果图。二,工程图。三,代码。RootViewController.h#import#importSV

一,效果图。

二,工程图。

三,代码。

RootViewController.h

#import
#import "SVSegmentedControl.h"@interface RootViewController : UIViewController

{UIScrollView *scrollView1;UIScrollView *scrollView2;UIPageControl *pag;NSMutableArray *dataArray;SVSegmentedControl *options;
}@end

 

RootViewController.m

#import "RootViewController.h"@interface RootViewController ()@end@implementation RootViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];if (self) {// Custom initialization}return self;
}- (void)viewDidLoad
{[super viewDidLoad];// Do any additional setup after loading the view.//初始化背景图[self initBackGroundView];
}
#pragma -mark -functions
-(void)initBackGroundView
{//隐藏导航条self.navigationController.navigationBarHidden=YES;//底部的滚动条scrollView1=[[UIScrollView alloc]init];scrollView1.frame=CGRectMake(0, 40, 320, 400);scrollView1.backgroundColor=[UIColor grayColor];scrollView1.delegate=self;scrollView1.pagingEnabled=YES;scrollView1.contentSize=CGSizeMake(320*2, 376);[self.view addSubview:scrollView1];//第一页的内容UIView *v1=[[UIView alloc]init];[v1 setFrame:CGRectMake(0, 0, 320, 376)];v1.backgroundColor=[UIColor redColor];[scrollView1 addSubview:v1];//第二页的内容UIView *v2=[[UIView alloc]init];v2.frame=CGRectMake(320, 0, 320, 376);v2.backgroundColor=[UIColor blueColor];[scrollView1 addSubview:v2];//下面指示页的圆点pag=[[UIPageControl alloc]initWithFrame:CGRectMake(160, 400, 0, 0)];pag.numberOfPages=2;pag.currentPage=0;[self.view addSubview:pag];//上面的滑动图标options = [[SVSegmentedControl alloc] initWithSectionTitles:[NSArray arrayWithObjects:@"购车应用",@"车主应用", nil]];[options addTarget:self action:@selector(actiBtClick:) forControlEvents:UIControlEventValueChanged];[options setBackgroundImage:[UIImage imageNamed:@"switchBg.png"]];options.center=CGPointMake(160, 50);options.crossFadeLabelsOnDrag=YES;options.selectedIndex=0;options.textColor=[UIColor blackColor];options.LKWidth=120;options.textShadowOffset=CGSizeMake(0, 0);options.textShadowColor=[UIColor clearColor];options.height=30;options.thumb.backgroundImage=[UIImage imageNamed:@"按钮-2.png"];options.thumb.highlightedBackgroundImage=[UIImage imageNamed:@"按钮-2.png"];options.thumb.textShadowColor=[UIColor clearColor];options.thumb.textShadowOffset=CGSizeMake(0, 0);[self.view addSubview:options];}
#pragma -mark -doClickActions
- (void)actiBtClick:(SVSegmentedControl *)sender
{if(sender.selectedIndex==0){[scrollView1 setContentOffset:CGPointMake(0, scrollView1.contentOffset.y) animated:YES];pag.currentPage=0;}else if(sender.selectedIndex==1){[scrollView1 setContentOffset:CGPointMake(320, scrollView1.contentOffset.y) animated:YES];pag.currentPage=1;}
}
#pragma -mark -scrollViewDelegate
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{if(scrollView1.contentOffset.x==0){pag.currentPage=0;[options moveThumbToIndex:0 animate:YES];}else if(scrollView1.contentOffset.x==320){pag.currentPage=1;[options moveThumbToIndex:1 animate:YES];}
}- (void)didReceiveMemoryWarning
{[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated.
}

 


转载于:https://www.cnblogs.com/yang-guang-girl/p/5101226.html


推荐阅读
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • 本文介绍了MVP架构模式及其在国庆技术博客中的应用。MVP架构模式是一种演变自MVC架构的新模式,其中View和Model之间的通信通过Presenter进行。相比MVC架构,MVP架构将交互逻辑放在Presenter内部,而View直接从Model中读取数据而不是通过Controller。本文还探讨了MVP架构在国庆技术博客中的具体应用。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文讨论了如何在不使用SearchBar display controller的情况下,单独使用SearchBar并捕获其textChange事件。作者介绍了实际状况,即左侧SliderMenu中的SearchBar需要在主页TableView中显示搜索结果。然后,作者提供了解决方案和步骤,帮助读者实现这一功能。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • Asp.net Mvc Framework 七 (Filter及其执行顺序) 的应用示例
    本文介绍了在Asp.net Mvc中应用Filter功能进行登录判断、用户权限控制、输出缓存、防盗链、防蜘蛛、本地化设置等操作的示例,并解释了Filter的执行顺序。通过示例代码,详细说明了如何使用Filter来实现这些功能。 ... [详细]
  • Android源码中的Builder模式及其作用
    本文主要解释了什么是Builder模式以及其作用,并结合Android源码来分析Builder模式的实现。Builder模式是将产品的设计、表示和构建进行分离,通过引入建造者角色,简化了构建复杂产品的流程,并且使得产品的构建可以灵活适应变化。使用Builder模式可以解决开发者需要关注产品表示和构建步骤的问题,并且当构建流程发生变化时,无需修改代码即可适配新的构建流程。 ... [详细]
author-avatar
手机用户2602883245
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有