【项目】雷达界面,无法返回中心点问题

雷达使用UIScrollView做的

UIView * contanerView  = [[UIView alloc] initWithFrame:self.bounds];[self addSubview:contanerView];_containerView               = contanerView;
CGSize imageSize         = imageView.contentSize;
self.containerView.frame = CGRectMake(0, 0, imageSize.width, imageSize.height);
imageView.bounds = CGRectMake(0, 0, imageSize.width, imageSize.height);
imageView.center = CGPointMake(imageSize.width/2, imageSize.height/2);
        self.contentSize = imageSize;
- (void)setMaxMinZoomScale
{
    CGSize imageSize = self.imageView.image.size;              // 图片原始尺寸
    CGSize imagePresentationSize = self.imageView.contentSize; // 在当前界面中初始化显示的尺寸
    CGFloat maxScale = MAX(imageSize.height / imagePresentationSize.height,
                                imageSize.width / imagePresentationSize.width);

    self.maximumZoomScale = MAX(1, maxScale);
    self.minimumZoomScale = 1.0;
}

- (void)centerContent
{

    CGRect frame = self.containerView.frame;
    CGFloat top  = 0, left = 0;

    if (self.contentSize.width < self.bounds.size.width)
    {
        left = (self.bounds.size.width - self.contentSize.width) / 2.0f;
    }
    if (self.contentSize.height < self.bounds.size.height)
    {
        top = (self.bounds.size.height - self.contentSize.height) / 2.0f;
    }

    top  -= frame.origin.y;
    left -= frame.origin.x;

    _RadarScale = ((self.containerView.width)/2.f) / 30;
    CGFloat  RadarRadiusTwo = self.containerView.width/2;

    self.contentInset = UIEdgeInsetsMake(top, left, top, left);

    for (id objc in self.subviews)
    {
        if ([objc isKindOfClass:[HeaderView class]])
        {
            HeaderView * headerView = (HeaderView *)objc;

            CGFloat headerX = headerView.userModel.userX * _RadarScale;
            CGFloat headerY = headerView.userModel.userY * _RadarScale;

            headerX += RadarRadiusTwo - HeaderView_Width/2;
            headerY =  RadarRadiusTwo - headerY - ImgScale(HeaderView_Width);

            headerView.frame = CGRectMake(headerX, headerY, HeaderView_Width, ImgScale(HeaderView_Width));
        }
    }
}

centerContent

以上都是实现代码,现在需要有触发事件:rebackCenter

如何让所有的布局全部回到以自己为中心坐标系中(0,0),导致问题出现,首先重新认识UIScrollView中的viewForZoomingInScrollView和contentInset

时间: 2024-11-16 03:52:43

【项目】雷达界面,无法返回中心点问题的相关文章

SlidingMenu开源项目滑动界面的实现总结

先上图 需要准备的是先得在GitHub上下载ActionBarSherlock-master.zip,和SlidingMenu-master.zip这两个开源文件,然后解压这两个包,SlidingMenu里面的library文件导入到Eclipse的一个工程里面(在这里不强调利Import一个android工程),还有ActionBarSherlock里面的actionbarsherlock文件导入到Eclipse当中. 导入之后就需要把library设置为一个library方便以后再其他工程里

Android基础之——startActivityForResult启动界面并返回数据,上传头像

在android应用的开发过程中,经常会出现启动一个界面后填写部分内容后带着数据返回启动前的界面,最典型的应用就是登录过程.在很多应用程序的模块中,都有"我的"这个模块,在未登录状态下点击其中的某一项,就会弹出登录界面,登录完成后回到我的界面,会显示一些登录后的数据,这个功能的实现就要用到startActivityForResult. 下面通过一个小demo来说明一下startActivityForResult的使用,以及在实际开发中的一些应用. demo的效果图如下: 主界面布局:

13款经典BI项目报表&界面风格设计方案

说明 1.方案取自报表开发工具FineReport案例的配色方案 2.所有设计方案图中已标注了字体.颜色与间隔距离等,可直接调用. 报表&界面风格设计方案展示 灰蓝界面 绿色与金色 蓝绿清新风格 蓝绿渐进图表配色 经典红蓝商务风格 薄荷主题图表 黄绿主题图表 蓝灰图表 蓝绿主题图表 蓝色主题图表 绿色缤纷主题 绿色主题图表A 绿色主题图表B 13款经典BI项目报表&界面风格设计方案

android项目整体界面架构(可直接复用)

文章解读.效果图.源码下载链接 点击打开链接 android项目整体界面架构(可直接复用)

MVVM模式的UI界面数据返回问题

MVVM模式里面用户UI界面的数据返回问题,让我纠结了好几天,一直得不到数据,今天总算能取到UI界面的数据了! 我采用的是ListView显示数据和Prism模式,并且将数据显示成了大图标的样式,即水平显示,但是下面测试用的我就没有采用水平显示,做了简单Model. XAML 代码: <ListView ItemsSource="{Binding ProductList}" x:Name="lv" Margin="8,8,8,37.96"

跳转到另一个界面和返回

假如现在有两个界面的控制器,第一个是FirstViewController,第二个是SecondViewController. 如果想从FirstViewController跳转到SecondViewController,我们可以在FirstViewController中创建一个按钮,然后给按钮添加一个点击事件,通过点击按钮实现跳转界面,示例代码如下: 1 // 按钮点击事件 2 - (void)buttonClick:(UIButton *)sender { 3 // 首先要初始化一个Seco

Type.GetType()反射另外项目中的类时返回null的解决方法

项目1:ProjectA namespace ProjectA { public class paa { .... } } Type.GetType("paa")返回null Type.GetType("ProjectA.paa")返回正确 项目2:ProjectB 引用了ProjectA Type.GetType("ProjectA.paa")返回空值 Type.GetType("ProjectA.paa,ProjectA"

BBS项目 注册界面and部分首页代码详解

forms # 创建注册form类class RegForm(forms.Form): #创建注册用户字段 username = forms.CharField( label='用户名', max_length=16, min_length=4, error_messages={ "max_length":"用户名最长不能超过16位", "min_length": "用户名最短不能少于4位", "required&q

团队项目:界面设计

游戏内关卡为2D横版界面,背景为楼群贴图,整体色调以灰色为主,与摩托车手的主题相配.游戏中配有音效及背景音乐,背景音乐为我组成员自行创作录制完成.界面展示如下: 图1  游戏中设计图 图中显示的摩托车手即为玩家操控的角色,由我小组成员自行绘制完成,城市背景及石块等道具从开放素材网站获得.显示关卡LEVEL的字体利用photoshop制作完成,字体设计及制作由我完成. 图2 游戏选关界面 选关界面由标题及9个选关按钮组成,单击不同按钮进入不同关卡,标题由手绘完成.