繁体   English   中英

以编程方式完成 UIImageView 不工作

[英]Programmatically done UIImageView not working

我有两种看法。 在第一个视图中,我有一个表格,在选择一行时,我调用第二个视图,如下面的代码。 还给出了被称为 class 的代码。 但不知何故,我只能看到改变的背景,而不是那里的其他 UIImageView。 任何人都可以请帮助我吗? 谢谢。

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    details.movieName2=movieName;
    self.title=@"Back";
    [[self navigationController] pushViewController:details animated:NO];    
}

视图 class header:

#import <UIKit/UIKit.h>


@interface detailedView : UIViewController {
    NSString *movieName2;
    UIImageView *myImageView;
}

@property (nonatomic, retain) UIImageView *myImageView;
@property (nonatomic, retain) NSString *movieName2;
@end

而查看 class 代码为:

#import "detailedView.h"

@implementation detailedView

@synthesize movieName2;
@synthesize myImageView;

- (id) init {
    self=[super init];
    movieName2=@"";    
    myImageView=[[UIImageView alloc] init];

return self;
}

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }

    return self;
}

-(void) viewDidAppear:(BOOL)animated
{
    self.view=[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    self.view.frame=CGRectMake(0, 0, 355, 615);
    self.view.backgroundColor=[[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"background-retina.png"]];

    self.title=self.movieName2;    

    [myImageView setImage:[UIImage imageNamed:@"sample.png"]];
    [myImageView setFrame:CGRectMake(5, 5, 50, 50)];
    [self.view addSubview:myImageView]; 
}

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

@end

推送详细信息后尝试设置电影名称 controller

[[self navigationController] pushViewController:details animated:NO]; 
details.movieName2=[movieName retain];

更新

@Ahsan 无论您在做什么都是错误的。 当您点击 tableViewCell 时,您需要分配第二个视图,或者如果您已经分配了 detailsView,那么为什么要在 viewDidAppear 中分配一个 newView。 尝试评论该行

self.view=[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];

看看它是否有效。 背景是有效的,因为您在 detailsView 本身中设置背景颜色。 问题在于分配新视图并将该视图分配给 self.view。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM