【问题标题】:how to access function one class to another objective c [duplicate]如何将一个类的函数访问到另一个目标c [重复]
【发布时间】:2013-10-22 19:06:49
【问题描述】:

这是我的 viewcontroller1.m 按钮 userinteractionenabled 功能,

-(void) BtnUserInteractionStatus {
   oneBtn2.userInteractionEnabled = NO; 
   oneBtn3.userInteractionEnabled = NO;
}

- (void)viewDidLoad {
   [super viewDidLoad];
   [self BtnUserInteractionStatus];
}

这是我的 viewcontroller2.m 按钮 userinteractionenabled 功能从 viewcontroller1.m 访问,

#import "ViewController1.h"

- (void)viewDidLoad {
   [super viewDidLoad];

   svc = [[StageViewController alloc]init];
   [svc BtnUserInteractionStatus];
}

我的 viewcontroller2.h,

#import "ViewController1.h"

@interface ViewController2 : UIViewController {
StageViewController *svc;
}

@property (assign) StageViewController *svc;

但是,这不起作用。如有错误请指正。

【问题讨论】:

  • 你得到了什么?
  • userinteractionenabled 正在 viewcontroller1 中工作。但是在 viewcontroller2 上创建的同一个按钮,然后我只是调用了 userinteractionenabled 上述格式不起作用...
  • 我的要求是,按钮将一个接一个地移动,即,最初 button1 是 userinteractionenabled 是 Yes,所有按钮都是 No。如果 button1 执行操作,则 button2 被启用,依此类推。
  • 这个问题已经被问了几百次了,你用谷歌搜索过这个吗? stackoverflow.com/questions/1658433/…

标签: ios objective-c


【解决方案1】:

这将是你的 ViewController2.m

  #import "ViewController1.h"

- (void)viewDidLoad 
 {
    [super viewDidLoad];

    svc = [[ViewController1 alloc]initWithNibName:@"ViewController1" bundle:nil];
    [self.view addSubview:svc.view];
}

ViewController2.h

    #import "ViewController1.h"

   @interface ViewController2 : UIViewController 
   {
          ViewController1 *svc;
   }

ViewController1.m

  - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
 {
      self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
   if (self)
    {
    // Custom initialization

     [self BtnUserInteractionStatus];    /*Provide your call to BtnUserInteractionStatus within init function*/

   }
   return self;
 }




 - (void)viewDidLoad
  {
      [super viewDidLoad];
     // Do any additional setup after loading the view from its nib.


  }


   -(void)BtnUserInteractionStatus
     {

         oneBtn2.userInteractionEnabled = NO; 
         oneBtn3.userInteractionEnabled = NO;



     }

当您想要从另一个 ViewContoller 加载 viewController 的对象库元素时,您需要定义其 xib,然后将其相应的视图添加为当前 viewcontroller 的子视图或从当前 ViewController 推送 viewcontrller。只需调用 BtnUserInteractionStatus使用其当前创建的实例的方法将无济于事..

希望对你有帮助!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    相关资源
    最近更新 更多