4
に画像を追加します。ここに私のコードです ..私はUIViewのに画像を追加し、その後のUIViewControllerのサブビューとして追加しようとしているのUIView
BlowView.h
#import <UIKit/UIKit.h>
@interface BlowView : UIView {
UIImageView *stone;
}
@property (nonatomic, retain) UIImageView *stone;
- (id)init;
@end
BlowView .M
#import "BlowView.h"
@implementation BlowView
@synthesize stone;
- (id)init {
UIImageView *logoView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Placard.png"]];
stone = logoView;
[logoView release];
UIImage *img = [UIImage imageNamed:@"Placard.png"];
CGRect frame = CGRectMake(0, 0, img.size.width, img.size.height);
[self initWithFrame:frame];
return self;
}
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if(self) {
}
return self;
}
- (void)dealloc {
[stone release];
[super dealloc];
}
@end
BlowViewController.h
@class BlowView;
@interface BlowViewController : UIViewController {
BlowView *aview;
}
@property (nonatomic, retain) BlowView *aview;
-(void)setUpView;
@end
BlowViewController.m
#import "BlowViewController.h"
#import "BlowView.h"
@implementation BlowViewController
@synthesize aview;
- (void)setUpView {
// Create the placard view -- its init method calculates its frame based on its image
BlowView *aView2 = [[BlowView alloc] init];
self.aview = aView2;
[aView2 release];
self.view = self.aview;
}
- (void)didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidLoad {
[super viewDidLoad];
[self setUpView];
aview.center = self.view.center;
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (void)dealloc {
[aview release];
[super dealloc];
}
@end
私が間違っているつもりですどこを見つけ出すことはできません。私はエラーはありません。私が得るのは、白い空白の空白です。すべてのヘルプは高く評価されます:)
驚くべきことに、これは動作しませんでしたし、アプリは "これでクラッシュしました[UIImageView superview]:解放されたインスタンスに送信されたメッセージ0x10167fd0 " –
私は、サブビューを追加した後に、logoViewインスタンスを解放することでこれを回避することができました..しかし、フレーム全体を画像だけにして、 center = CGPointMake(x、y)..ビュー全体ではなく画像を移動する –