2

内部に UILabel を持つ UIImage を持つカスタム ビュー

BBC ニュースのようなクールなニュース アプリを作ろうとしています。各ニュース項目 (画像を参照) には UIImage と UILabel (ニュースのタイトル) が含まれている必要があると思います--> カスタム ビューを作成する必要があります。

Apple Developer Web サイトでカスタムビューを作成する方法を既に読んでいますが、紹介するだけで、サンプルはありません。

私の質問は次のとおりです。 + そのカスタムビュー (内部に UILabel を含む UIImage) を作成するにはどうすればよいですか + そのビューをメイン画面アプリのテーブルビューに配置するにはどうすればよいですか。

少し早いですがお礼を。下手な英語でごめんなさい。

4

3 に答える 3

6

このタスクはさまざまな方法で実行できます

1.UIImageViewとUILabelでカスタムビューを作成し、それをtableViewCellのサブビューとして追加できます

2.必要なラベルと UIImageView を使用してカスタム TableViewCellを作成し、それを直接使用できます。

UIImageView と UILabel でカスタム ビューを作成するには

"project" を右クリック -> "New File" を選択 -> "Objective C Class" を選択 -> "Subclass of UIView" を選択

CustomView.h

@interface CustomView : UIView
{
}
- (id)initWithFrame:(CGRect)frame withImage:(UIImage *)img withLabel:(NSString *)lbl ;
@end

CustomView.m

@implementation CustomView

- (id)initWithFrame:(CGRect)frame withImage:(UIImage *)img withLabel:(NSString *)lbl 
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code

        UIImageView * imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height - 30)];
        [imageView1 setImage:img];
        [self addSubview:imageView1];
        [imageView1 release];

        UILabel * label1 = [[UILabel alloc] initWithFrame:CGRectMake(0, frame.size.height - 30, frame.size.width,30)];
        label1.text = lbl;
        label1.textColor = [UIColor blackColor];
        [self addSubview:label1];
        [label1 release];
    }
    return self;
}

@end

使用するには

#import "CustomView.h"と を使用して CustomView をインポートする

CustomView * cView = [[CustomView alloc] initWithFrame:CGRectMake(0, 0, 100, 100) withImage:[UIImage imageNamed:@"img.png"] withLabel:@"Testasddddddddddddd"];
[self.view addSubview:cView];
[cView release];
于 2012-04-23T07:08:05.047 に答える
1

これを試して..

    UIButton *objBtn;

    objBtn = [[UIButton alloc] init];
    objBtn.frame = CGRectMake(x, y, W, H);
    [objBtn setBackgroundImage:[UIImage imageNamed:@"defalt_person_01.png"] forState:UIControlStateNormal];
    [objBtn addTarget:self action:@selector(SelectLanguageBtn:) forControlEvents:UIControlEventTouchUpInside];
    objBtn.tag = 101;
    [self.view addSubview:objBtn];

    //Your News On Imagebtn
    UILabel *newsLab=[[UILabel alloc]initWithFrame:CGRectMake(BtnX, BtnY, W, H)];
    newsLab.textAlignment=UITextAlignmentCenter;
    newsLab.textColor=[UIColor orangeColor];


    newsLab.backgroundColor=[UIColor clearColor];

    newsLab.text = @"My News";

    newsLab.font=[UIFont fontWithName:@"TimesNewRomanPS-BoldMT" size:30];
    [objBtn addSubview:newsLab];
于 2012-04-23T05:03:19.577 に答える