0

何かを表示できるようにするためにオーバーライドする必要がある UIView のメソッドを理解しようとしています。

私は非常に単純なアプリケーションを持っています:

  1. 単一の UIViewController を持つ

  2. UIView を持っている

  3. UIView は View のサイズのオフスクリーン画像を作成し、画像は drawRect に描画されます

質問:

  1. ビューはどのように作成すればよいですか? initWithRect を呼び出していますか? それともただの初期化?ストーリーボードもニブもなしで、プログラムでやりたいです。

  2. UIViewController がビューの境界を設定するときに、UIView のどのメソッドが呼び出されますか? そして、どうすればこれらの境界を取得できますか(オフスクリーン画像を作成できるようにするため)。

  3. UIImageViewのソースがどこにあるか知っている人はいますか?

注: 私はこれを 4 日間試みましたが、成功しませんでした。

4

3 に答える 3

3

1.)initWithFrame:

1.) デフォルトでは、境界が設定されたときに自動的に呼び出されるメソッドはありません。をサブクラス化すると、必要に応じてメソッドUIViewをオーバーライドできます。setBounds

2.) ? のソースUIImageView..ヘッダー クラスは、CoreFoundation.framework.

于 2012-06-15T17:11:59.100 に答える
0

UIViewController で UIView を使用し、UIViewController で UIView のサブビューとして UIImageView と UITextView を追加しても、質問でそれについて尋ねていないため、UITextview のコードが表示されませんでした。

- (void)viewDidLoad
{
    UIView *baseView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    [self.view addSubview:baseView];
    [baseView release];

    // Displays UIImageView
    UIImageView* ImageView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 5, 300, 235)];
    self.view.backgroundColor = [UIColor brownColor];

    // load all the frames of our animation
    ImageView.animationImages = [NSArray arrayWithObjects:    
                                    [UIImage imageNamed:@"1a.png"],
                                    [UIImage imageNamed:@"1b.png"],
                                    nil];

    // all frames will execute in 25 seconds
    ImageView.animationDuration = 25; 

    // start animating
    [ImageView startAnimating];
    ImageView.layer.borderWidth = 2;
    ImageView.layer.borderColor = [[UIColor whiteColor]CGColor];
    [ImageView.layer setMasksToBounds:YES];
    [ImageView.layer setCornerRadius:15.0f];

    [baseView addSubview:ImageView]; 
}

お役に立てば幸いです。

于 2012-06-15T17:39:27.250 に答える