добавление uilabel на uiimage, показывающее на подходящем представлении - PullRequest
0 голосов
/ 12 марта 2012

Я добавляю метку в uiimage, а затем добавляю это изображение в удобный вид. но это не показ. Может кто-нибудь помочь, пожалуйста?

Это код, который я использую:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {  
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
         [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
    }
//image which contains label
    UIImageView *BgImage=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cell-bg.png"]];
    BgImage.frame=cell.frame;
//label which will be on image
    UILabel *NameLAbel=[[UILabel alloc]initWithFrame:CGRectMake(25, 5, 45, 45)];


    NameLAbel.textColor=[UIColor blackColor];

    if (indexPath.row==0) {
        NameLAbel.text=@"Home";
    }
    else if (indexPath.row==1) {
        NameLAbel.text=@"You";
    }
   else if (indexPath.row==2) {
        NameLAbel.text=@"Contacts";
    }
    else if (indexPath.row==3) {
        NameLAbel.text=@"Settings";
    }
    else {
        NameLAbel.text=@"Sign Out";
    }
    NSLog(@"%@",NameLAbel.text);

    [BgImage addSubview:NameLAbel];
//adding image on cell
    [cell.contentView addSubview:BgImage];


   [NameLAbel release];
    [BgImage release];
    return cell;
}

Ответы [ 2 ]

1 голос
/ 12 марта 2012

Добавление некоторого виджета пользовательского интерфейса в качестве подпредставления UIImageView звучит очень сомнительно.Даже если он работает сейчас, он может не работать в будущем, и я считаю, что это нарушает соглашение UIKit.Если вы хотите, чтобы одно представление выглядело как «часть» другого представления, поместите два вида как братьев и сестер, либо непосредственно в cell.contentView, как заметил Амит, либо, если вы хотите вырезать так, чтобы метка выглядела так, как будто она была вырезанапо изображению создайте контейнер UIView, включите параметр «clip subviews» для этого представления и поместите UIImageView и UILabel как братьев и сестер в этот контейнер UIView.

1 голос
/ 12 марта 2012

Я не уверен, что вы действительно можете добавить UILabel к UIImageView, хотя они оба являются подклассами UIView, я думаю, что в режиме просмотра изображений будет отображаться только изображение.

попробуйте добавитьметка cell.contentView после добавления изображения в представление.Это должно достичь эффекта, который вам нужен.

Либо так, либо создайте UIView, который будет содержать и UIImageView, и UILabel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...