//
// CCTableTipView.h
// CCFC
//
//
#import <UIKit/UIKit.h>
#import "CCBaseTipView.h"
// a kind of CCBaseTipView that owns a tableView
// for linking, you should add QuartzCore.framewrok
@interface CCTableTipView : CCBaseTipView
{
UITableView *_tableView;
id _delegate;
}
@property(nonatomic, assign) id delegate;
- (id)initWithFrame:(CGRect)frame withTableViewFrame:(CGRect)tableViewRect;
- (void)setDelegate:(id)delegate;
- (void)show;
- (void)setTableViewBgView:(UIImage *)img;
- (void)reloadData;
@end
//
// CCTableTipView.m
// CCFC
//
//
#import "CCTableTipView.h"
#import <QuartzCore/QuartzCore.h>
@implementation CCTableTipView
@dynamic delegate;
- (id)initWithFrame:(CGRect)frame withTableViewFrame:(CGRect)tableViewRect
{
self = [super initWithFrame:frame];
if (self)
{
_tableView = [[UITableView alloc] initWithFrame:tableViewRect
style:UITableViewStylePlain];
_tableView.layer.masksToBounds = YES;
_tableView.layer.cornerRadius = 10.0;
_tableView.alwaysBounceVertical = TRUE;
_tableView.backgroundColor = [UIColor clearColor];
[self addSubview:_tableView];
[_tableView release];
}
return self;
}
- (void)dealloc
{
[super dealloc];
}
- (void)setDelegate:(id)delegate
{
_tableView.dataSource = delegate;
_tableView.delegate = delegate;
}
- (void)show
{
[super show];
}
- (void)setTableViewBgView:(UIImage *)img
{
UIImageView *bgView = [[UIImageView alloc] initWithImage:img];
_tableView.backgroundView = bgView;
[bgView release];
}
- (void)reloadData
{
[_tableView reloadData];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self];
if(!CGRectContainsPoint(_tableView.frame, point))
{
[super hide]; // 如果不在_tableView的范围内,界面默认自动消失
}
}
- (void)drawRect:(CGRect)rect
{
[super drawRect:rect];
}
@end
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。
欢迎关注。助您在编程路上越走越好!