UIView 子view跟随父view动态变化

2024-05-09 02:08

本文主要是介绍UIView 子view跟随父view动态变化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

- (void)viewDidLoad {[super viewDidLoad];CGRect frame = [[UIScreen mainScreen] bounds];UIView *view1 = [[UIView alloc]init];view1.frame = CGRectMake(100, 100, 100, 100);view1.backgroundColor = [UIColor blackColor];//允许子视图自适应view1.tag = 100;view1.autoresizesSubviews = YES;[self.view addSubview:view1];UIView *view2 = [[UIView alloc]init];view2.frame = CGRectMake(25, 25, 50, 50);view2.backgroundColor = [UIColor whiteColor];//设置子视图适应方式view2.autoresizingMask =UIViewAutoresizingFlexibleLeftMargin   |UIViewAutoresizingFlexibleWidth        |UIViewAutoresizingFlexibleRightMargin  |UIViewAutoresizingFlexibleTopMargin    |UIViewAutoresizingFlexibleHeight       |UIViewAutoresizingFlexibleBottomMargin ;[view1 addSubview:view2];UIButton *btn = [[UIButton alloc]init];btn.frame = CGRectMake(0, frame.size.height-200, 50, 50);btn.backgroundColor = [UIColor grayColor];[btn setTitle:@"变化" forState:UIControlStateNormal];[btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:btn];
}-(void)click:(UIButton *)btn{UIView *view1 =  [self.view viewWithTag:100];CGRect frame = view1.frame;view1.frame = CGRectMake(frame.origin.x-20, frame.origin.y-20, frame.size.width+40, frame.size.height+40);
}



UIView的视图自适应

父级view1中,包含一个view2,view1的大小变化时,view2可以根据设定条件,与view1一同变化:

view1先设置属性 ,使子view可以动态改变大小:

view1.autoresizesSubviews =YES;


view2子控件设置autoresizeingMask属性,来决定父view变化,子view做出怎样相应的变化:

    view2.autoresizingMask =

    UIViewAutoresizingFlexibleLeftMargin   |

    UIViewAutoresizingFlexibleWidth        |

    UIViewAutoresizingFlexibleRightMargin  |

    UIViewAutoresizingFlexibleTopMargin    |

    UIViewAutoresizingFlexibleHeight       |

    UIViewAutoresizingFlexibleBottomMargin ;






这篇关于UIView 子view跟随父view动态变化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/972091

相关文章

MVC(Model-View-Controller)和MVVM(Model-View-ViewModel)

1、MVC MVC(Model-View-Controller) 是一种常用的架构模式,用于分离应用程序的逻辑、数据和展示。它通过三个核心组件(模型、视图和控制器)将应用程序的业务逻辑与用户界面隔离,促进代码的可维护性、可扩展性和模块化。在 MVC 模式中,各组件可以与多种设计模式结合使用,以增强灵活性和可维护性。以下是 MVC 各组件与常见设计模式的关系和作用: 1. Model(模型)

MFC中App,Doc,MainFrame,View各指针的互相获取

纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。 首先说明这四个类的执行顺序是App->Doc->Main->View 另外添加CDialog类获得各个指针的方法。 多文档的获取有点小区别,有时间也总结一下。 //  App void CSDIApp::OnApp() {      //  App      //  Doc     CDocument *pD

Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.B

一个bug日志 FATAL EXCEPTION: main03-25 14:24:07.724: E/AndroidRuntime(4135): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.syyx.jingubang.ky/com.anguotech.android.activity.Init

自定义view中常用到哪些方法作用分别是什么

目录 构造函数onMeasure(int widthMeasureSpec, int heightMeasureSpec)onDraw(Canvas canvas)onLayout(boolean changed, int left, int top, int right, int bottom)onTouchEvent(MotionEvent event)onSizeChanged(int

android 动画 ——视图动画(View Animation)

android动画分为视图动画(View Animation)、属性动画(Property Animation) 想看属性动画(Property Animation):请移步至http://blog.csdn.net/u013424496/article/details/51700312 这里我们来说下视图动画(View Animation)的纯代码写法,还有一种是xml调用, 对于xml调

Android 自定义View控件,实现跟随手指触摸移动的小球

Android UI组件是通过继承View类,然后绘制内容,比如ImageView,TextView等组件都是继承View类。 当Android系统提供的组件功能不能满足需求时,可以通过继承View类重写一个或多个方法,派生自定义的组件,View类常用重写方法: 1.构造器:View子类最基本的重写方法 protected voidonDraw(Canvas canvas) public

iOS开发UI篇-UIView的生命周期

iOS开发UI篇-UIView的生命周期 一、 大体流程: (loadView/nib)文件来加载view到内存-->viewDidLoad函数进一步初始化这些view-->内存不足时, 调用viewDidUnload函数释放views-->当需要使用view时又回到第一步loadView:永远不要主导调用这个函数。viewController 会在view的property被请求并且当前

mac捕获android任意应用的view视图

一、uiautomatorviewer 介绍    iautomatorviewer是android SDK自带的一个元素定位工具。通过截屏并分析XML布局文件的方式,为用户提供控件信息查看服务。 使用uiautomatorviewer,你可以检查一个应用的UI来查看应用的布局和组件以及相关的属性。该工具位于SDK目录下的tools\bin子目录下。 二、效果图 下图演示 截取微信的 v

spring boot 的tomcat部署,自己的view层不做映射

需要复写继承该类SpringBootServletInitializer 的config方法,网上有些直接写主入口类的,部署是不对的。一定要复写config方法。

IOS View编程指南笔记

我们所看到的程序 对于一切IOS APP来说,我们看的的内容,都是UIView所呈现的。 UIView如场景,UIWindow如舞台,UIView粉墨登场在UIWindow这个舞台上,使我们看到丰富多彩的界面UI。UIWindow本身没有任何内容,它只提供了一个场所来让这些UIView来显示,切换。 通常,一个APP仅有一个UIWindow作为显示的场所,当我们要进行多屏显示时,才会使用到多