1

sendSubviewToBackメソッドとメソッドに問題がありinsertSubview:belowSubview:ます。簡単に言えば、別のビューの下に挿入するボタンがあります_centerView。ボタンを の下に置いておきたい_centerView

私が直面している問題は、 の下にボタンを挿入すると_centerView_centerView. sendSubviewToBack:私は両方を試しましたinsertSubview:belowSubview:- 同じ効果。

何が間違っている可能性があるか考えていますか?何か不足していますか?これが私のコードです:

    UIButton* itemButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [itemButton setFrame:CGRectMake(0, 0, 40, 40)];
    [itemButton setCenter:_centerView.center];

    [parentView bringSubviewToFront:_centerView];
    [parentView insertSubview:itemButton belowSubview:_centerView];
4

3 に答える 3

2

最近、この同じ問題に遭遇しましたが、このオプションをアニメーション コードに渡すと修正されました。うまくいけば、これもあなたに役立つでしょう。あなたのコメントがなければ、私は私の解決策を思い付くことはできなかったでしょう。

UIViewAnimationOptionShowHideTransitionViews
于 2012-06-24T01:49:59.043 に答える
0

背後にある内部構造が何であるかinsertSubviewはわかりませんが、ちらつきを取り除きたい場合は、挿入する前にビューを非表示にし、後で再度表示するのが最も簡単な方法です。

[itemButton setHidden:YES];
[parentView insertSubview:itemButton belowSubview:_centerView];
[itemButton setHidden:NO];

最もエレガントなソリューションではありませんが、仕事を成し遂げるはずです。

于 2012-06-14T17:20:40.610 に答える
0

OK、しばらくすると、これはボタンを追加したときにアニメーション化したウィンドウの障害であることが判明しました。理由はわかりませんが、ウィンドウのフェードイン アニメーションがこの問題を引き起こしていました。UIWindow のアニメーションを切り替えたところ、動作するようになりました。手伝ってくれてありがとう!

于 2012-06-18T14:07:57.340 に答える