gpt4 book ai didi

objective-c - transitionFromView 和索引

转载 作者:行者123 更新时间:2023-11-29 05:05:08 26 4
gpt4 key购买 nike

我正在使用一个 Controller (MAIN)来管理如何在其主视图中呈现另外 2 个 Controller (A 和 B) View 。在主 Controller View 中,我在主视图 xib 中创建了一个按钮。BUTTON 必须位于 A 和 B View 上方。

这就是我需要的 View 层次结构:

MAIN.VIEW
|------A or B view (index 0)
|------BUTTON (index 1)

这是我如何将 A 和 B 创建到 MAIN 中:

//MAIN CONTROLLER viewDidLoad
- (void)viewDidLoad {
[super viewDidLoad];

self.A = [[A alloc] init];
self.B = [[B alloc] init];

//Start from A view visible in MAIN
[self.view insertSubview:self.A.view atIndex:0];
}

在特定操作调用之后,我想插入 Controller B View 并删除 A。我读到了有关transitionFromView的内容,并尝试以这种方式使用它:

[UIView transitionFromView:self.A.view
toView:self.B.view
duration:1.0
options:UIViewAnimationOptionTransitionFlipFromRight
completion:^(BOOL finished) {
if (finished) {
//nothing for now...
}
}];

这里的问题是,翻转动画后,B View 位于 BUTTON 之上,并且没有完全取代我的层次结构中 A 的位置(A 位于索引 0 处)

我可以将此代码添加到完成 block 中:

[self.view sendSubviewToBack:self.B.view];

但我认为这是一个有点棘手的解决方案:P(而且这也不是一个好的解决方案,因为它似乎有效地出现在动画的结尾,但图形效果很差......)

确保 A 和 B 放置在索引 0 处的最佳方法是什么?

最佳答案

可能是 SDK 中的错误。有一个Bug report at OpenRadar正是这种行为。

关于objective-c - transitionFromView 和索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5687265/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com