2012-04-02 32 views
7

Như tiêu đề nói, tôi đang cố gắng tạo một UIImage sẽ đi vào bên trong UIImageView (để tôi có thể tạo hiệu ứng sau) sau đó tôi muốn đặt UIImageView vào một lớp khác UIView.Làm cách nào để thêm UIImage vào UIImageView một cách có lập trình, sau đó thêm UIImageView vào UIView khác?

Cho đến nay mã có liên quan của tôi là:

Đây là viewDidLoad cho bộ điều khiển xem gốc của tôi:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view from its nib. 
    self.playerViewController = [[TUKIPlayerViewController alloc] init]; 
    [self.view addSubview:playerViewController.view]; 
} 

Và đây là init cho UIImageView:

- (id)init 
{ 
    if (self = [super init]) { 
     playerIdle = [UIImage imageNamed:@"playerIdle.png"]; 
     playerView = [[UIImageView alloc] initWithImage:playerIdle]; 
     self.view = playerView; 
    } 
    return self; 
} 

Nó xây dựng và chạy với 0 lỗi.

Tôi đang làm gì sai? Tôi không thấy playerIdle.png ở bất cứ đâu. Mặc dù tôi cá rằng tôi đang làm điều này một cách khủng khiếp. Hãy giúp tôi!

+0

Tên lớp tùy chỉnh 'UIImageView' là gì? Bạn đang bắt đầu như thế nào? – Ilanchezhian

+0

UIImageView là thuộc tính của TUKIPlayerViewController. Và UIImageView đang được khởi tạo bên trong init của TUKIPlayerViewController, nó cho biết playerView = [[UIImageView alloc] initWithImage: playerIdle]; – Jarrod

Trả lời

13

Trong ViewController bạn, hãy thêm ImageView trực tiếp ...

- (void)viewDidLoad 
{ 
    playerView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"playerIdle.png"]]; 
    [self.view addSubView: playerView]; 
} 
+0

Ah cảm ơn bạn! Tôi biết nó sẽ là một cái gì đó đơn giản như thế này: D Huge cảm ơn tất cả mọi người cho câu trả lời của bạn, điều này giúp tôi rất nhiều :)/cứu trợ – Jarrod

4

Hãy thử điều này:

UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"name.png"]]; 
[self.view addSubview:imgView]; 
4

Xin vui lòng thử đoạn code dưới đây:

- (id)init 
{ 
    if (self = [super init]) { 
     playerIdle = [UIImage imageNamed:@"playerIdle.png"]; 
     playerView = [[UIImageView alloc] initWithImage:playerIdle]; 
     [self.view addSubview:playerView]; 
    } 
return self; 
} 

Hy vọng điều này có thể giúp bạn .....

1

Bạn nên sử dụng [self.view addSubview:playerView]; thay vì chỉ thiết lập nó (self.view = playerview;). Những gì tôi cũng làm hầu hết các lần được đưa subview rằng vào phía trước:

[self.view bringSubviewToFront:playerView]; 

Hy vọng nó giúp

0

Hoặc bạn có thể thử: myUIImageViewObject.image = myUIImageObject;

0

UIImageView * imgView = [[UIImageView alloc] initWithImage: [UIImage imageNamed: @ "name.png"]]; imagView.frame = CGRectMake (40,130,45,45);

[self.view addSubview: imgView];

+0

Trong khi câu trả lời của bạn có thể giải quyết câu hỏi, nó luôn luôn là tốt hơn nếu bạn có thể cung cấp một mô tả về những gì vấn đề là và cách câu trả lời của bạn giải quyết nó. Đây là một gợi ý để tiếp tục cải thiện câu trả lời này và trong tương lai. –

Các vấn đề liên quan