iOS经验2:从服务起请求显示广告视图( 定时器 手势 滚动窗口)
2014-11-26 14:18
381 查看
我们经常做iOS项目首页开头一般要显示广告,来介绍公司的产品,或者做推广用,那么镔哥哥介绍一下比较简单的做法:
第一种:实用
#define SEGMENT_WIDTH [UIScreen mainScreen].bounds.size.width
#define ADHEIGHT 120
#define IMAGECOUPOR @"http://www.baidu.com"//举例子
- (void)viewDidLoad
{
[super
viewDidLoad];
//显示广告的空视图
UIImageView * adImageView = [[UIImageView
alloc] initWithFrame:CGRectMake(0,
_segment.bottom,
SEGMENT_WIDTH, ADHEIGHT)];
[sele.viewaddSubview:adImageView];
//请求广告
[_dataRequestManager
methodGetWithURL:IMAGECOUPOR];//_dataRequestManager为请求URL的(你自己可以
另外加载)上篇文章也有介绍自己拉用
}
第二种 可以参考
//另外可以用UiScrollView来做一个广告滚动视图
//iphone 5设备
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,
1136), [[UIScreen mainScreen] currentMode].size) : NO)
#define IOS6 ([[[UIDevice currentDevice] systemVersion] floatValue] >=
7.0) // 判断是否是IOS6的系统
#define IOS_ver [[[UIDevice currentDevice] systemVersion] floatValue]
//动态获取设备高度
#define IPHONE_HEIGHT [UIScreen mainScreen].bounds.size.height
//动态获取设备宽度
#define IPHONE_WIDTH [UIScreen mainScreen].bounds.size.width#define LAppFrame [UIScreen mainScreen].applicationFrame
- (void)viewDidLoad
{
[super
viewDidLoad];
/滑块控制器
scrollview=[[UIScrollView
alloc]initWithFrame:CGRectMake(0,
0, 320,
140)];
scrollview.showsHorizontalScrollIndicator=NO;//不垂直滚动
[scrollview
setContentSize:CGSizeMake(320*5,
0)];//scrillview的水平区域范围(你可以定义一个数组,*5就有5张图片)
scrollview.delegate=self;//遵循代理
mydata = [[YJFdata
alloc]init];
[mydata
yjfdata];
//mydata请求数据对象
//利用for循环给滑动视图添加内容
timer=[NSTimer
scheduledTimerWithTimeInterval:1
target:self
selector:@selector(reqimg)
userInfo:nil
repeats:YES];
//不会出现停留一半的现象
[scrollview
setPagingEnabled:YES];//显示页数
[scrollview
setIndicatorStyle:UIScrollViewIndicatorStyleWhite];
//滑动控制器的点
pagecontrol=[[UIPageControl
alloc]initWithFrame:CGRectMake(100,
120,
120, 15)];
pagecontrol.frame=CGRectMake(scrollview.contentOffset.x+100,
120,
120, 15);
pagecontrol.currentPage=scrollview.contentOffset.x/320;
//设置有几页的
[pagecontrol
setNumberOfPages:6];
//设置当前页面点的颜色
[pagecontrol
setCurrentPageIndicatorTintColor:[UIColor
redColor]];
//添加点击到那一页
[pagecontrol
addTarget:self
action:@selector(dopagecontrol:)
forControlEvents:UIControlEventValueChanged];
//整个scroll
scroll=[[UIScrollView
alloc]init];
if (!IOS_ver>=7.0) {
scroll.frame=CGRectMake(0,
0, 320,
IPHONE_HEIGHT);
scroll.contentSize=CGSizeMake(320,600);
}
else
{
scroll.frame=CGRectMake(0,
0, 320,
self.view.frame.size.height);
scroll.contentSize=CGSizeMake(320,
568);
}
scroll.userInteractionEnabled=YES;//用户交互
[self.view
addSubview:scroll];
[scroll
addSubview:scrollview];
//添加手势
UITapGestureRecognizer*tapdian=[[UITapGestureRecognizer
alloc]initWithTarget:self
action:@selector(tapdian:)];
[scroll
addGestureRecognizer:tapdian];
}
#pragma -mark-滚动视图代理方法
#pragma -mark-scrollviewdidendDecelerating
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
pagecontrol.frame=CGRectMake(scrollview.contentOffset.x+100,
120,
120, 15);
pagecontrol.currentPage=scrollView.contentOffset.x/320;
}
//定时器
-(void)reqimg
{
if ([[NSUserDefaults
standardUserDefaults]objectForKey:@"imageurl"]) {
for (int i=0; i<[mydata.picarray
count]; i++)
{
UIImageView *imageView=[[EGOImageView
alloc]initWithFrame:CGRectMake(320*i,
0, 320,140)];
imageView.userInteractionEnabled=YES;
imageView.tag=1000+i;
UITapGestureRecognizer*tap=[[UITapGestureRecognizer
alloc]initWithTarget:self
action:@selector(tap:)];
[imageView addGestureRecognizer:tap];
NSString *str=[NSString
stringWithFormat:@"%@",[mydata.picarray
objectAtIndex:i]];//你自己可以另外定义
imageView.imageURL=[NSURL
URLWithString:str];
[scrollview
addSubview:imageView];
}
}
else
{
[timer invalidate];
[[NSUserDefaults
standardUserDefaults]removeObjectForKey:@"imageurl"];
}
}
//主要是跳转到哪里
-(void)tap:(UITapGestureRecognizer *)mtap
{
NSLog(@"%d",[mydata.urlarray
count]);
NSLog(@"我看看网址%@",[mydata.urlarray
objectAtIndex:scrollview.contentOffset.x/320]);
webview.str=[mydata.urlarray
objectAtIndex:scrollview.contentOffset.x/320];
[self
presentViewController:webview
animated:YES
completion:nil];
}
第一种:实用
#define SEGMENT_WIDTH [UIScreen mainScreen].bounds.size.width
#define ADHEIGHT 120
#define IMAGECOUPOR @"http://www.baidu.com"//举例子
- (void)viewDidLoad
{
[super
viewDidLoad];
//显示广告的空视图
UIImageView * adImageView = [[UIImageView
alloc] initWithFrame:CGRectMake(0,
_segment.bottom,
SEGMENT_WIDTH, ADHEIGHT)];
[sele.viewaddSubview:adImageView];
//请求广告
[_dataRequestManager
methodGetWithURL:IMAGECOUPOR];//_dataRequestManager为请求URL的(你自己可以
另外加载)上篇文章也有介绍自己拉用
}
第二种 可以参考
//另外可以用UiScrollView来做一个广告滚动视图
//iphone 5设备
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,
1136), [[UIScreen mainScreen] currentMode].size) : NO)
#define IOS6 ([[[UIDevice currentDevice] systemVersion] floatValue] >=
7.0) // 判断是否是IOS6的系统
#define IOS_ver [[[UIDevice currentDevice] systemVersion] floatValue]
//动态获取设备高度
#define IPHONE_HEIGHT [UIScreen mainScreen].bounds.size.height
//动态获取设备宽度
#define IPHONE_WIDTH [UIScreen mainScreen].bounds.size.width#define LAppFrame [UIScreen mainScreen].applicationFrame
- (void)viewDidLoad
{
[super
viewDidLoad];
/滑块控制器
scrollview=[[UIScrollView
alloc]initWithFrame:CGRectMake(0,
0, 320,
140)];
scrollview.showsHorizontalScrollIndicator=NO;//不垂直滚动
[scrollview
setContentSize:CGSizeMake(320*5,
0)];//scrillview的水平区域范围(你可以定义一个数组,*5就有5张图片)
scrollview.delegate=self;//遵循代理
mydata = [[YJFdata
alloc]init];
[mydata
yjfdata];
//mydata请求数据对象
//利用for循环给滑动视图添加内容
timer=[NSTimer
scheduledTimerWithTimeInterval:1
target:self
selector:@selector(reqimg)
userInfo:nil
repeats:YES];
//不会出现停留一半的现象
[scrollview
setPagingEnabled:YES];//显示页数
[scrollview
setIndicatorStyle:UIScrollViewIndicatorStyleWhite];
//滑动控制器的点
pagecontrol=[[UIPageControl
alloc]initWithFrame:CGRectMake(100,
120,
120, 15)];
pagecontrol.frame=CGRectMake(scrollview.contentOffset.x+100,
120,
120, 15);
pagecontrol.currentPage=scrollview.contentOffset.x/320;
//设置有几页的
[pagecontrol
setNumberOfPages:6];
//设置当前页面点的颜色
[pagecontrol
setCurrentPageIndicatorTintColor:[UIColor
redColor]];
//添加点击到那一页
[pagecontrol
addTarget:self
action:@selector(dopagecontrol:)
forControlEvents:UIControlEventValueChanged];
//整个scroll
scroll=[[UIScrollView
alloc]init];
if (!IOS_ver>=7.0) {
scroll.frame=CGRectMake(0,
0, 320,
IPHONE_HEIGHT);
scroll.contentSize=CGSizeMake(320,600);
}
else
{
scroll.frame=CGRectMake(0,
0, 320,
self.view.frame.size.height);
scroll.contentSize=CGSizeMake(320,
568);
}
scroll.userInteractionEnabled=YES;//用户交互
[self.view
addSubview:scroll];
[scroll
addSubview:scrollview];
//添加手势
UITapGestureRecognizer*tapdian=[[UITapGestureRecognizer
alloc]initWithTarget:self
action:@selector(tapdian:)];
[scroll
addGestureRecognizer:tapdian];
}
#pragma -mark-滚动视图代理方法
#pragma -mark-scrollviewdidendDecelerating
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
pagecontrol.frame=CGRectMake(scrollview.contentOffset.x+100,
120,
120, 15);
pagecontrol.currentPage=scrollView.contentOffset.x/320;
}
//定时器
-(void)reqimg
{
if ([[NSUserDefaults
standardUserDefaults]objectForKey:@"imageurl"]) {
for (int i=0; i<[mydata.picarray
count]; i++)
{
UIImageView *imageView=[[EGOImageView
alloc]initWithFrame:CGRectMake(320*i,
0, 320,140)];
imageView.userInteractionEnabled=YES;
imageView.tag=1000+i;
UITapGestureRecognizer*tap=[[UITapGestureRecognizer
alloc]initWithTarget:self
action:@selector(tap:)];
[imageView addGestureRecognizer:tap];
NSString *str=[NSString
stringWithFormat:@"%@",[mydata.picarray
objectAtIndex:i]];//你自己可以另外定义
imageView.imageURL=[NSURL
URLWithString:str];
[scrollview
addSubview:imageView];
}
}
else
{
[timer invalidate];
[[NSUserDefaults
standardUserDefaults]removeObjectForKey:@"imageurl"];
}
}
//主要是跳转到哪里
-(void)tap:(UITapGestureRecognizer *)mtap
{
NSLog(@"%d",[mydata.urlarray
count]);
NSLog(@"我看看网址%@",[mydata.urlarray
objectAtIndex:scrollview.contentOffset.x/320]);
webview.str=[mydata.urlarray
objectAtIndex:scrollview.contentOffset.x/320];
[self
presentViewController:webview
animated:YES
completion:nil];
}
相关文章推荐
- iOS 6编程-UIScrollView滚动视图和UIPageControl分页控件实现图像分页显示(2)
- ios 滚动视图,滚动广告,无限循环轮播
- iOS 6编程-UIScrollView滚动视图和UIPageControl分页控件实现图像分页显示
- iOS开发:定时器与滚动视图的交互
- iOS获取当前正在显示的窗口、视图控制器、视图
- iOS设计中在视图中显示滚动汉字
- iOS的手势事件和可滚动视图(tableView、collectionView...)的触摸事件冲突的解决方法
- IOS/iphone之在视图上显示当前的时间,并且时间还在走
- MFC--滚动视图窗口(CScrollView)使用双缓冲问题
- 向geoserver发送wms服务请求,并在google earth中显示
- 使用CSplitterWnd实现拆分窗口(多视图显示)
- MFC框架中视图窗口全屏显示
- 使用CSplitterWnd实现拆分窗口(多视图显示)
- 集成Ajax的调试ASP语句的小程序(内嵌可移动+可滚动跟随+可隐藏、显示的输入小窗口,可输入asp语句动态运行可)
- 使用CSplitterWnd实现拆分窗口(多视图显示)
- [IOS]iphone之在视图上显示当前的时间,并且时间还在走。
- iphone ios uiwindow uiview CALayer 窗口 视图关系 区别
- 使用CSplitterWnd实现拆分窗口(多视图显示)
- [转]C# 在窗口右下角弹出广告的代码,渐变显示与自动消失
- 苹果iOS占美国移动广告请求55% Android第二