0

我在一个类中创建了一些 uiimage 视图类型的@properties,然后在我的 rootviewcontroller 中初始化了该类。

问题.h:

@property(nonatomic,strong)UIImageView *img1;
@property(nonatomic,strong)UIImageView *img2;
@property(nonatomic,strong)UIImageView *img3;
@property(nonatomic,strong)UIImageView *img4;

'视图控制器.m'

-(void)viewdidload{

questions *q1=[[questions alloc]init];
q1.img1 =[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"red.png"]];
[self.view addSubview:q1.img1];


UITapGestureRecognizer *Tap1 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(iTap:)];
[q1.img1 addGestureRecognizer:Tap1];

}


-(void)iTap:(UIGestureRecognizer *)gestureRecognizer {
// do something..
}

我知道用初始化代码填充 viewdidload 不是一个好主意。有没有更好的方法来使用类方法来实现这一点?

喜欢 :

问题.m:

+(questions * )mymethod{

questions *q1=[[questions alloc]init];
q1.img1 =[[uiimageview alloc]initwithimage [uimage imagenamed@"red.png"]];
[self.view addSubview:q1.img1];


UITapGestureRecognizer *Tap1 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(iTap:)];
[q1.img1 addGestureRecognizer:Tap1];

return q1;
}

然后在 viewdidload 中调用该方法

视图控制器.m:

-(void)viewdidload{

[questions mymethod];

}
4

1 回答 1

0

viewDidLoad. 但是,您也可以使用- [UIViewController loadView].

于 2014-02-14T16:40:32.260 回答