2

私はいくつかの目的の C コードを書いていますが、これが機能しない理由がわかりません:

buttonRect = CGRectMake(0,0,100.0,100.0);//error:incompatible types in assignment
CGRect newFrame = CGRectInset(buttonRect, -0.2, -0.2);//error:incompatible type for argument 1 of CGRectInset
button.frame = newFrame;

buttonRect は私のクラスでインスタンス変数として定義された CGRect であり、button はインスタンス変数としても定義された UIButton です。なぜこれが機能しないのですか?私のヘッダーファイル:

//
//  MyViewController.h
//  HelloWorld
//
//  Created by RCIX on 7/10/09.
//  Copyright 2009 __MyCompanyName__. All rights reserved.
//

#import <UIKit/UIKit.h>


@interface MyViewController : UIViewController {
    UITextField *textField;
    UILabel *label;
    NSString *string;
    UIButton *button;
    CGRect *buttonRect;
}

@property (nonatomic, assign) CGRect *buttonRect;
@property (nonatomic, retain) IBOutlet UITextField *textField;
@property (nonatomic, retain) IBOutlet UILabel *label;
@property (nonatomic, retain) IBOutlet UIButton *button;
@property (nonatomic, retain) NSString *string;

- (IBAction)helloButtonDown:(id)sender;
- (IBAction)helloButtonUp:(id)sender;

@end
4

3 に答える 3

8

buttonRectCGRect *つまり、CGRect へのポインターとして宣言されます。スプラットを取り除くと、すべてがうまくいきます。

于 2009-07-14T01:00:54.133 に答える
1

buttonRect を再確認してください。CGRect として定義されていないことを確認してください。

于 2009-07-14T00:47:45.593 に答える
0

buttonRect は別の場所で定義されていますか、それとも定義時に型を指定する必要がありますか?

于 2009-07-14T00:46:25.423 に答える