簡體   English   中英

以編程方式創建的UIImageView

[英]UIImageView Created Programmatically

我正在嘗試創建一個UIImageView但是我必須以編程方式進行創建,並且必須能夠使用實例變量(在.h文件或類似的變量中)進行聲明。 這是創建它的代碼; 但是,這不允許我在其他方法中使用它。

UIImageView *airImage = [[UIImageView alloc] 
                            initWithFrame:CGRectMake(29, 7, 82, 96)];
[myScrollView addSubview:airImage];

我看過其他人問類似的問題,但是沒有一個人允許我創建實例變量。 順便說一句,該代碼在我的viewDidLoad中。 提前致謝!

在您的.h中使用:

UIImageView *airImage;

在您的viewDidLoad中:

airImage=[[UIImageView alloc] initWithFrame:CGRectMake(29, 7, 82, 96)];
[myScrollView addSubview:airImage];

或者,您可以將其聲明為屬性:

@property (nonatomic, strong) UIImageView *airImage;

並用於訪問它:

self.airImage = [[UIImageView alloc] initWithFrame:CGRectMake(29, 7, 82, 96)];
[myScrollView addSubview:self.airImage];

更具體地說,應在接口的特定位置創建實例變量(可以同時位於.h.m文件中,但請更常用.h )。

如果要在.h文件中聲明它,那么您將希望代碼如下所示:

@interface ClassName : UIViewController {
    UIImageView *_airImage; //many developers use _ to represent ivars
}

@end

要設置變量的值,則可以使用

_airImage = [[UIImageView alloc]init...];

屬性是另一個選擇。 相反,您可以這樣聲明:

@interface ClassName : UIViewController

@property (strong, nonatomic) UIImageView *airImage;

@end

要設置此值,只需使用,

self.airImage = [[UIImageView alloc]init...];

希望這有助於清理一些事情。 使用此問題可以幫助您了解ivars與屬性何時使用的區別: Objective-C中ivars與屬性之間的區別是什么?

本教程說明如何同時使用ivars和屬性,並幫助您更好地理解它們: http : //www.icodeblog.com/2011/07/13/coding-conventions-ivars/

在你的.h中

@property (nonatomic, strong) UIImageView *airImage; // public

在您的.m文件中(viewDidLoad或您要初始化ImageView的任何位置)

self.airImage = [[UIImageView alloc] initWithFrame:CGRectMake(29, 7, 82, 96)];
[myScrollView addSubview:self.airImage];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM