[英]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.