创建一个自定义视图,其中包含UILmage内部的UILmage(在图像底部)

Hoa*_* Ha 2 iphone xcode custom-controls uiimageview uilabel

UIImage的自定义视图,里面有UILabel

我尝试制作一个像BBC新闻这样的酷新闻应用.我认为每个新闻项目(见图片)必须有一个UIImage和UILabel(新闻标题) - >我们必须创建自定义视图.

我已经阅读了如何在Apple Developer网站上创建自定义视图,但它只介绍了,没有一些示例.

我的问题是:+如何创建自定义视图(内部带有UILabel的UIImage)+如何将该视图放在我的主屏应用程序的tableview中.

预先感谢.抱歉英语不好.

Sha*_*eer 6

您可以通过多种方式完成此任务

1.您可以使用UIImageView和UILabel 创建自定义视图,并将其作为子视图添加到tableViewCell中

2.您可以使用所需的标签和UIImageView 创建Custom TableViewCell并直接使用它.

使用UIImageView和UILabel创建自定义视图

右键单击"项目" - >选择"新建文件" - >选择"目标C类" - >选择"UIView的子类"

CustomView.h

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

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
Run Code Online (Sandbox Code Playgroud)

使用它

使用#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];
Run Code Online (Sandbox Code Playgroud)