从其他视图控制器中的一个视图控制器获取按钮

时间:2012-10-23 10:37:55

标签: ios uiviewcontroller navigation uibutton

我是ios编程的新手,因此会产生很多问题。 我有2个控制器 - SwitchingViewController和ToastViewController。 SwitchingViewController在控制器之间切换,因此它也有一个按钮。

现在重点是 - 如何在SwitchViewController中的ToastViewController中声明按钮“back”?

看起来像那样

SwitchingViewController.h

@interface SwitchingViewController : UIViewController{
  IBOutlet UIButton *addnew;
  IBOutlet UIButton *contin;
  IBOutlet UIButton *mytoasts;
  IBOutlet UIButton *backToToast;
}

ToastViewController.m

#import "SwitchingViewController.h"

@interface ToastViewController ()
@end

@implementation ToastViewController
  -(void)sendToServer:(id)sender{
    //show here backToToast button
  }

我试过类似[SwitchViewController.backToToast]或getByTag的东西,但它显然不起作用(我有红宝石的经验,所以我有很多后遗症)。 有人可以告诉我如何操纵其他控制器的元素吗?

修改/解决

实际上我这样做是为了解决问题...我在ToastViewController中放了一个按钮,例如* goToBack并将其与动作sendToServer连接。现在当goToBack被cliked时,它会运行sendToServer操作,如下所示:

//do somenthing to send to server and change view to other controller
//changing controller is defined in action goBackToOther in SwitchViewController

[[NSNotificationCenter defaultCenter] postNotificationName: @"goBackToOtherNotif" object: nil];

并在SwitchViewController.m中 - >的init()

[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(goBackToOther:) name: @"goBackToOtherNotif" object: nil];
SwitchViewController.m中的

- >的dealloc()

[[NSNotificationCenter defaultCenter] removeObserver:self];

也许它不是很优雅,但就像我说的那样 - 我还不熟悉ios编程,所以我认为它起作用了:)

1 个答案:

答案 0 :(得分:0)

尝试在SwitchingViewController.h中创建属性并在SwitchingViewController.m文件中合成backToToast。

@property(保留,非原子)IBOutlet UIButton * backToToast; (SwitchingViewController.h)

@synthesize backToToast; (SwitchingViewController.m)