好的,我有两个UIImageViews
,它们是在一个UIScrollView
的子视图中。我的目标是,当用户在屏幕上滚动并点击table(屏幕上的一个按钮)时,会出现一个弹出窗口(UIImageview)。我希望这个图片视图位于center
位置。以下是我的代码:
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
NSLog(@"%f scrollView Last X", scrollView.contentOffset.x);
NSLog(@"%f scrollView Last y", scrollView.contentOffset.y);
//This is for the orders
self.roundFrame = [[UIImageView alloc] initWithFrame:CGRectMake(190 + scrollView.contentOffset.x ,120 + scrollView.contentOffset.y, 385, 280)];
self.roundFrame.image = [UIImage imageNamed:@"frame_round_edge.png"];
[_roundFrame setUserInteractionEnabled:YES];
//This is for the split Table
self.roundFrameForSplit = [[UIImageView alloc] initWithFrame:CGRectMake(190 + scrollView.contentOffset.x, 120 + scrollView.contentOffset.y, 370, 300)]; // 362
self.roundFrameForSplit.image = [UIImage imageNamed:@"frame_round_edge.png"];
[_roundFrameForSplit setUserInteractionEnabled:YES];
}
发生的情况是大多数时候它在中心,但有时它不在中心。我不知道如何修复这个问题。有人知道如何解决吗?谢谢帮助!
编辑:对于任何未来寻找此问题答案的人,这就是答案。因为在我的情况下(根据您想要实现的内容可能有所不同),我只想要UIImageView位于ipadMini屏幕的中心,所以我有点作弊并硬编码了值(1024/2和768/2)。别忘了将UIImageView添加为self.View的子视图(我犯了错误,一度迷失)。希望这可以帮助到您!
CGFloat screenWidth = [UIScreen mainScreen].bounds.size.width / 2; CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height / 2;
但是每当我滚动时,位置就会改变... 我以为mainscreen应该是实际iPad mini的静态大小,难道不是吗? - Some_random_coder