-1

如何从另一个 .m 文件中调用它-(void){}函数、方法?抱歉,我忘记了术语)?

我也希望能够像这样在本地 .m 文件中调用它[self closeMenu];

这是-(void){}

-(void)closeMenu{

//close the menu

[UIView animateWithDuration:0.6 animations:^{

    [UIView setAnimationBeginsFromCurrentState:YES]; // so it doesn't cut randomly, begins from where it is

    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

    [menuView setFrame:CGRectMake(menuView.frame.origin.x, -menuView.frame.size.height, menuView.frame.size.width, menuView.frame.size.height)];

}];

}
4

2 回答 2

3

您必须在具有接口的 .h 文件中声明该方法。

在 YourClass.h

@interface YourClass:NSObject
- (void)closeMenu;
@end

在 YourClass.m 中

@implementation YourClass
- (void)closeMenu
{
    //Close the menu
}
@end

#import "YourClass.h"然后,您必须在要从中调用此方法的其他文件中导入 ( )。

#import "YourClass.h"

@implementation OtherClass
- (void)otherMethod
{
    YourClass *foo = [[YourClass alloc] init];
    [foo closeMenu];
}
@end
于 2012-10-17T02:08:13.710 回答
-1

似乎您正在谈论某种控制器方法来折叠某种 menuView,并且看起来这是一个您希望与应用程序的其余部分共享的全局 menuView。

每当我有“共享”小部件时,我都会为它们使用管理器。

你能描述一下你所说的那种架构吗?

因为我想到的最肮脏的“Apple 示例代码”方法是在 App 委托中保留对这个婴儿的引用,并且从您的 App 中的任何地方您都可以这样做:

MyDelegate * delegate= (MyDelegate)[UIApplication sharedApplication] delegate];
[delegate.myCoolMenuController closeMenu];

希望这对你有用。

干杯

于 2012-10-17T02:13:12.173 回答