-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サンプルコード」アプローチは、アプリデリゲートでこの赤ちゃんへの参照を保持することであり、アプリのどこからでもこれを行うことができます。

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

これがあなたのために働くことを願っています。

乾杯

于 2012-10-17T02:13:12.173 に答える