我有一个UIPopoverController已经使用了一段时间。现在我正在更新我的iOS7代码,当我调整弹出窗口的大小时,它突然移动到屏幕的另一侧,这会给用户带来非常糟糕的体验。
当我处于竖直方向时,不会发生这种情况。我点击以打开弹出视图,然后点击按钮使弹出视图扩展,一切正常。但是,如果我切换到横向方向并执行相同的操作,则在我点击按钮扩展弹出视图后,它会滑动到另一个位置。
这里是一个视频展示了我说的问题: https://vimeo.com/75632364 这是用户点击导致弹出窗口大小调整时运行的代码:
我不希望弹出式窗口跳动位置,因为这会让用户感到烦恼。有什么好的办法吗?
当我处于竖直方向时,不会发生这种情况。我点击以打开弹出视图,然后点击按钮使弹出视图扩展,一切正常。但是,如果我切换到横向方向并执行相同的操作,则在我点击按钮扩展弹出视图后,它会滑动到另一个位置。
这里是一个视频展示了我说的问题: https://vimeo.com/75632364 这是用户点击导致弹出窗口大小调整时运行的代码:
- (IBAction) touchedButtonPayDownLoan:(id)sender {
UIView *payOffView = nil;
if ([self.liability isBankLoan]) {
payOffView = self.viewPayoffBank;
} else {
payOffView = self.viewPayoffOther;
}
CGRect loanFrame = payOffView.frame;
loanFrame.origin.y = self.toolbar.frame.origin.y;
payOffView.frame = loanFrame;
[self.view addSubview:payOffView];
[self.view bringSubviewToFront:self.toolbar];
[UIView beginAnimations:@"Show Payoff View" context:nil];
NSMutableArray *items = [[self.toolbar items] mutableCopy];
[items removeLastObject];
[items addObject:self.barButtonFinish];
self.toolbar.items = items;
// -------- RELEVANT BITS HERE ---------
CGRect frame = self.view.frame;
frame.size.height += payOffView.frame.size.height;
self.view.frame = frame;
self.preferredContentSize = frame.size;
// -------- RELEVANT BITS HERE ---------
[UIView commitAnimations];
}
我不希望弹出式窗口跳动位置,因为这会让用户感到烦恼。有什么好的办法吗?