您的位置:首页 > 移动开发 > IOS开发

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];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: