如何在UIScrollView中获取显示区域的中心?

mot*_*tox 4 objective-c frame uiscrollview uiview ios

设置UIScrollView高度1400与众多UIButtons.点击其中的每一个UIButtons,我会显示一个UIView包含一些值的小(加载视图时隐藏).我想在显示区域UIViews中心显示这些UIScrollView.

当我点击'TYPE'(在图像中的UIView后面)时,我会显示如下所示的视图:

在此输入图像描述

但无论'TYPE'按钮在哪里,当点击时我想显示UIView如下所示(总是在显示区域的中心):

在此输入图像描述 在此输入图像描述

谢谢!

Ana*_*har 6

试试这个

yourCustomAlert.center = self.view.center;
Run Code Online (Sandbox Code Playgroud)

在你的scrollView里面

  1. 首先看到scrollview的Rect

    CGRect visibleRect = CGRectMake(myScrollView.contentOffset.x, myScrollView.contentOffset.y, myScrollView.bounds.size.width, myScrollView.bounds.size.height)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后得到它的中心

    CGPoint centerPoint = CGPointMake(visibleRect.size.width/2, visibleRect.size.height/2);
    
    Run Code Online (Sandbox Code Playgroud)
  3. 然后设置alertView的中心

    yourCustomAlert.center = centerPoint;
    
    Run Code Online (Sandbox Code Playgroud)