
我尝试在vIEwDIDLoad中调用“First Image”方法,但它不起作用.
我在VIEwDIDLoad中的选择器有问题.没有识别“Firstimage”,这是一个没有参数的voID方法.
VIEwController.m
- (voID)createFirstbutton:(Nsstring *)myname: (SEL *)myAction{ UIbutton *btn = [UIbutton buttonWithType:UIbuttonTypeRoundedRect]; [btn addTarget:self action:@selector(myAction) forControlEvents:UIControlEventtouchUpInsIDe]; [btn setTitle:myname forState:UIControlStatenormal]; btn.frame = CGRectMake(20,916,120,68); [self.vIEw addSubvIEw:btn];}- (voID)vIEwDIDLoad{ [self createFirstbutton:@"First" myAction:[self Firstimage]];} 我做了什么(我将“CreateFirstbutton”更改为“Createbutton”):
VIEwControler.m
#import "VIEwController.h"@interface VIEwController ()@end@implementation VIEwController@synthesize myHeight;@synthesize myWIDth;@synthesize myX;@synthesize myY;- (voID)createbutton:(Nsstring *)myname:(SEL)myAction:(NSUInteger)my_x:(NSUInteger)my_y:(NSUInteger)my_wIDth:(NSUInteger)my_height{ UIbutton *btn = [UIbutton buttonWithType:UIbuttonTypeRoundedRect]; [btn addTarget:self action:myAction forControlEvents:UIControlEventtouchUpInsIDe]; [btn setTitle:myname forState:UIControlStatenormal]; btn.frame = CGRectMake(my_x,my_y,my_wIDth,my_height); [self.vIEw addSubvIEw:btn];}- (voID)myXcrementation{ myX = myX + 150; }- (voID)vIEwDIDLoad{ myX = 20; myY = 916; myWIDth = 120; myHeight = 68; [self createbutton:@"First":@selector(Firstimage):myX:myY:myWIDth:myHeight]; [self myXcrementation]; [self createbutton:@"PrevIoUs":@selector(PrevIoUsImage):myX:myY:myWIDth:myHeight]; [self myXcrementation]; [self createbutton:@"Pause":@selector(PauseImage):myX:myY:myWIDth:myHeight]; [self myXcrementation]; [self createbutton:@"Next":@selector(Nextimage):myX:myY:myWIDth:myHeight]; [self myXcrementation]; [self createbutton:@"Last":@selector(Lastimage):myX:myY:myWIDth:myHeight];}- (voID)Firstimage{ current = 0; [self Setimage];}-(voID)Setimage{ [myImageVIEw setimage: [myArray objectAtIndex:(current)]];}@end VIEwController.h
#import <UIKit/UIKit.h>@interface VIEwController : UIVIEwController{}@property(assign,nonatomic) NSUInteger myHeight;@property(assign,nonatomic) NSUInteger myWIDth;@property(assign,nonatomic) NSUInteger myX;@property(assign,nonatomic) NSUInteger myY;@end 我再次编辑了这个帖子,没有更多的错误.
特别感谢大家.花了我时间了解:)
[self createFirstbutton:@"First" myAction:@selector(Firstimage)];
那么你的签名是错误的,因为SEL不应该是一个指针.
更改
- (voID)createFirstbutton:(Nsstring *)myname: (SEL *)myAction{ 至
- (voID)createFirstbutton:(Nsstring *)myname: (SEL)myAction{ 最后,myAction的类型为SEL,因此可以直接将其传递给UIbutton方法,如下所示
[btn addTarget:self action:myAction forControlEvents:UIControlEventtouchUpInsIDe];
此外,我想补充说,使用大写字母的方法,这是一个非常糟糕的做法.
总结以上是内存溢出为你收集整理的选择器作为IOS中的参数全部内容,希望文章能够帮你解决选择器作为IOS中的参数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)