0

(注: 私が最初にプロジェクトを開始したとき、私は StoryBoards を使用することを選択したので、.nib ファイルにアクセスできないようです..)

画像と必要な座標パラメーターを取得し、そのメソッドを呼び出すたびに、現在のビュー コントローラーのウィンドウの特定の位置に画像を読み込むメソッドを作成したいと考えています。

当分の間、単一の画像をロードすることさえできないため、明らかに正確な方法を求めているわけではありません! :)

以前に iOS でグラフィックスを試したことはありませんでしたが、ドキュメントを調べたところ、かなり混乱したので、この問題について私や他の人に役立つかもしれないいくつかの説明を求めることにしました。

どうやら、必要な画像を保持する ImageView オブジェクトを作成する必要があるようです。ただし、ドキュメントには、実際にウィンドウにイメージをロードする方法と最終的にイメージをロードする方法についての言及はありません。また、 superView とは何かについての実際の説明はありません。SuperView は、私が作成する最初のUIView オブジェクトですか、それともシステムによって作成され、呼び出してアクセスできますか? サブクラスとして作成している各 UIView オブジェクトを最初の SuperView に追加する必要がありますか? ビューをサブクラス化することで、画面上で互いに重なり合う方法を定義していますか?self.view

テスト目的で、画面に1つの画像をロードしようとしているコードを次に示します。

#import "TestViewController.h"

@interface TestViewController ()
{
    UIView *myView;            
    UIImage *myImage;
    UIImageView *myImageView;
}

@end

@implementation TestViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    if (self) 
    {
        // Custom initialization
    }

    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    // defining the size of my UIView..
    CGRect  viewRect = CGRectMake(10, 10, 100, 100);

    // creating the UIView object
    myView = [[UIView alloc] initWithFrame:viewRect];

    // loading my image (a red square) into a UIImage object..
    myImage = [[UIImage alloc] initWithContentsOfFile:(@"userCell.png")];

    // creating a UIImageView object that will hold my myImage..
    myImageView = [[UIImageView alloc] initWithImage:myImage];

    // trying to make my Image load to the screen by adding the object that is 
    // encapsulating it to the UIView I created..

    [myView addSubview:myImageView];
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

@end

ありがとう!

4

2 に答える 2

0

こちらです:

CGRect  viewRect = CGRectMake(10, 10, 100, 100);
myImageView = [[UIImageView alloc] initWithImage:myImage];
[myImageView setFrame:viewRect];
[self.view addSubview:myImageView];

基本的に、サブビュー(あなたの場合はUIImageView)が表示されるフレームを定義し、このビューをView Controllerのメインビューに追加する必要があります(それがself.viewです)。UIImageView は UIView 自体であるため、ImageView を UIView でラップする必要はありません。

于 2012-08-18T13:41:09.557 に答える
0
- (void)viewDidLoad
{
    [super viewDidLoad];

    // defining the size of my UIView..
    CGRect  viewRect = CGRectMake(10, 10, 100, 100);

    // creating the UIView object
    myView = [[UIView alloc] initWithFrame:viewRect];

    // loading my image into a UIImage object..
    myImage = [UIImage imageNamed:@"userCell.png"];

    // creating a UIImageView object that will hold my myImage..
    myImageView = [[UIImageView alloc] initWithImage:myImage];

    // trying to make my Image load to the screen by adding the object that is 
    // encapsulating it to the UIView I created..

    [myView addSubview:myImageView];
    [self.view addSubView:myView];
于 2012-08-18T13:45:11.037 に答える