1
- (void)cancel
{   
[[SHK currentHelper] hideCurrentViewControllerAnimated:YES];
}

上記はシェアキット twitter フォームのキャンセル ボタンのコードですが、機能していません。iOS 6 に更新する前に動作していたと思います。iOS 6 に更新した後、非推奨のものを置き換えました。

- (void)hideCurrentViewControllerAnimated:(BOOL)animated
{
if (isDismissingView)
    return;

if (currentView != nil)
{
    // Dismiss the modal view
    if ([currentView parentViewController] != nil)
    {
        self.isDismissingView = YES;
        [[currentView parentViewController] dismissViewControllerAnimated:YES completion:nil];
    }

    else
        self.currentView = nil;
}
}

私はdismissModalViewControllerAnimated:YESをdismissViewControllerAnimated:YESの完了:nilに置き換えました。

ピンボードフォーム、SHKShareMenu、Instapaper、その他すべてのフォームでキャンセルボタンが機能していないことに気付きました。

iOS 6 にアップデートした後、Sharekit のキャンセル ボタンが機能しなくなった理由は誰でも知っています。キャンセルボタンをクリックしても何も起こりません。

何故ですか。理由は何ですか。

何か案は。

ありがとう

4

2 に答える 2

3

修正しました。parentViewController の代わりに ViewControllerを提示する必要があります。

以下はコードです

- (void)hideCurrentViewControllerAnimated:(BOOL)animated
{
if (isDismissingView)
    return;

if (currentView != nil)
{
    // Dismiss the modal view
    if ([currentView presentingViewController] != nil)
    {
        self.isDismissingView = YES;
        [[currentView presentingViewController] dismissViewControllerAnimated:YES completion:nil];
    }

    else
        self.currentView = nil;
}
}

この SHK.m のコードの変更により、すべてのキャンセルが機能するようになりました。これで、すべてのキャンセルが Sharekit で機能するようになりました。

于 2012-09-21T15:07:07.127 に答える
1

次のコード行を追加します。

[self dismissModalViewControllerAnimated:YES];

これら 2 つのメソッドの最後に:

- (void)cancel {

 [self dismissModalViewControllerAnimated:YES];
}

と :

- (void)save {
 [self dismissModalViewControllerAnimated:YES];
}

ではSHKTwitterForm.m、それは私のために働いています。

于 2012-10-08T17:54:10.243 に答える