底部标题的图像

时间:2011-03-09 19:38:15

标签: iphone

UIKit中是否有任何特殊控件可显示iPhone的应用程序列表屏幕,即底部带标题的图像

1 个答案:

答案 0 :(得分:0)

我不知道基本库中有任何可用的控件来执行您提到的操作。然而,简单地子类化UIImageView并使其包含位于图像正下方的UILabel并不是非常困难。这可以通过多种方式完成,并不是很难。

一个基本想法是:

标题:

@interface ImageTextView : UIImageView  {
    UILabel *title; 
}

-(id) initWithFrame:(CGRect)_frame;
-(void) setTitle:(NSString *)_title; 

@end

实现:

@implementation ImageTextView

-(id) initWithFrame:(CGRect)_frame{
    if (self = [super initWithFrame:_frame]){
        self.layer.masksToBounds = NO; 
        title = [[UILabel alloc] initWithFrame:(CGRect){0,_frame.size.height,_frame.size.width,50}];
        title.backgroundColor = [UIColor clearColor];
        title.textColor = [UIColor whiteColor]; 
        title.textAlignment = UITextAlignmentCenter;
        [self addSubview:title]; 
    }

    return self; 
}

-(void) setTitle:(NSString *)_title{
    title.text = _title; 
}

-(void) dealloc{
    [title release]; 
    [super dealloc];
}

@end

然后使用它你会使用如下代码:

ImageTextView *test = [[ImageTextView alloc] initWithFrame:(CGRect){0,0,100,100}];
test.image = [UIImage imageNamed:@"example.png"];
[test setTitle:@"TEST"];
[mainView addSubview:test];

希望这有帮助。

干杯。