0

私は2つのViewControllerを持っており、最初のView Controllerには1つのボタンがあります。次に、ユーザーがそのボタンをクリックすると、2番目のViewControllerに移動します。私はストーリーボードを使用しておらず、ARCを使用しています。これを試しましたが、「uiviewcontrollerの表示された@interfaceがセレクターの割り当てを宣言していません」というエラーが表示されます。

- (IBAction)SendMsg:(id)sender {

    UIViewController *MessageViewController = [MessageViewController alloc] initWithNibName:@"MessageViewController" bundle:nil];
    [self presentModalViewController:MessageViewController animated:YES];
    [MessageViewController release];

}
4

4 に答える 4

3

「*MessageViewController」をタイプUIViewControllerとして宣言しています。次に、「MessageViewController」allocメソッドを呼び出します。あなたはそれをすることはできません。Maulikは正しい方向に進んでいますが、ARCを使用している場合は、最後の行を削除する必要があります([aMessageViewControllerリリース];)

試す:

- (IBAction)SendMsg:(id)sender{
    MessageViewController *myMessageViewControllerInstance = [[MessageViewController alloc]  initWithNibName:@"MessageViewController" bundle:nil];
    [self presentModalViewController:myMessageViewControllerInstance animated:YES];
}

モーダルビューコントローラを閉じる方法が必要になることを忘れないでください。上の最後の行の前に次のようなものを追加することで、プレゼンテーションとトランジションのスタイルを設定できます。

myMessageViewControllerInstance.modalPresentationStyle = UIModalPresentationFormSheet;
myMessageViewControllerInstance.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

他のスタイルもありますが、私は例を使用しました。幸運を

于 2012-10-10T13:39:37.683 に答える
0
- (IBAction)SendMsg:(id)sender {

    MessageViewController *aMessageViewController = [[MessageViewController alloc] initWithNibName:@"MessageViewController" bundle:nil];
    [self presentModalViewController:aMessageViewController animated:YES];
    //[aMessageViewController release]; As you are using ARC

}
于 2012-10-10T13:31:55.870 に答える
0
    - (IBAction)SendMsg:(id)sender {
        MessageViewController *aMessageViewController = [[MessageViewController alloc] initWithNibName:@"MessageViewController" bundle:nil];
        [self presentModalViewController:aMessageViewController animated:YES];
    }
于 2012-10-10T13:38:30.713 に答える
0
    - (IBAction)SendMsg:(id)sender {

MessageViewController *aMessageViewController = [[MessageViewController alloc] initWithNibName:@"MessageViewController" bundle:nil];
[self presentModalViewController:aMessageViewController animated:YES];
[aMessageViewController release];

}

ナビゲーションコントローラーを使用した場合は、self.navigationController........も使用できます。

于 2012-10-10T14:03:37.427 に答える