ios 自定义图文混排走马灯
走马灯在网页中很常用,但是在客户端软件中一般都是要自己实现。
刚开始想到的就两种方法,方法1:用计时器定时刷新;方法2:自定义控件刷新绘图。
本人做ios不久,先从简单入手,使用计时器定时移位处理,但是效果不好,有卡的感觉。
只好采用方法2,自定义控件绘图刷新实现走马灯效果。
学习网上重载drawRect方法,使用动画实现。其中做了部分修改,实现自己需要的图文混排走马灯。
代码如下:
------------------ PMarquee.h ----------------
//
// PMarquee.h
//
// Created by on 12-5-22.
//
#import <UIKit/UIKit.h>
@interface PMarquee : UIView{
NSDictionary *dicShowImage;//滚动显示图片
NSMutableArray *showTextsList;//滚动显示文字
int showLap;//循环滚动次数
int moveWidth;//记录控件宽度
}
@property (nonatomic, retain) NSDictionary *dicShowImage;
@property (nonatomic, retain) NSMutableArray *showTextsList;
@property (nonatomic, assign) int showLap;
-(void)calculateShowFrame;
@end
------------------ PMarquee.m ----------------
//
// PMarquee.m
//
// Created by on 12-5-22.
//
#import "PMarquee.h"
@implementation PMarquee
@synthesize dicShowImage;
@synthesize showTextsList;
@synthesize showLap;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
[self setBackgroundColor:[UIColor clearColor]];//背景默认为透明
[self setShowLap:2];//默认滚动2次
}
return self;