IOS 杂笔-11(实现在外部无法改变UIView的size)
来源:互联网 发布:我爱发明 知乎 编辑:程序博客网 时间:2024/05/28 22:08
我想题目说的或许不是很清楚,那么现在我详细介绍一下这篇随笔内容。
在外部无法改变UIVIew控件的size。
这里说是UIView,但是事实上,是大多数控件而绝非仅UIView。
想要实现在外部无法改变size该怎么做呢。
首先是重写setFrame使其规定本身size,如下
//// TestView.m// CX-实现在外部无法改变UIView的Size//// Created by ma c on 16/3/25.// Copyright © 2016年 xubaoaichiyu. All rights reserved.//#import "TestView.h"@implementation TestView-(void)setFrame:(CGRect)frame{ frame.size = CGSizeMake(100, 100); [super setFrame:frame];}@end
重写setFrame后我们可以进行测试。
在VC里我吧TestVIew的size 设置为{200,200}。
由此可见,在外部无法改变UITestView的Size
但是下面的结果却并非如此
我们先是设置UITestView的Center。
然后设置UITestView的Bounds
//// ViewController.m// CX-实现在外部无法改变UIView的Size//// Created by ma c on 16/3/25.// Copyright © 2016年 xubaoaichiyu. All rights reserved.//#import "ViewController.h"#import "TestView.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; TestView * view = [[TestView alloc]init]; view.center = self.view.center; view.bounds = CGRectMake(0, 0, 200, 200); [self.view addSubview:view]; NSLog(@"%@",NSStringFromCGRect(view.frame)); }@end
结果如下
可见:UITestView 的size有所改变,没关系。
我们再重写一下bounds。
//// TestView.m// CX-实现在外部无法改变UIView的Size//// Created by ma c on 16/3/25.// Copyright © 2016年 xubaoaichiyu. All rights reserved.//#import "TestView.h"@implementation TestView-(void)setFrame:(CGRect)frame{ frame.size = CGSizeMake(100, 100); [super setFrame:frame];}-(void)setBounds:(CGRect)bounds{ bounds.size = CGSizeMake(100, 100); [super setBounds:bounds];}@end
结果如下:
//// TestView.m// CX-实现在外部无法改变UIView的Size//// Created by ma c on 16/3/25.// Copyright © 2016年 xubaoaichiyu. All rights reserved.//#import "TestView.h"@implementation TestView-(void)setFrame:(CGRect)frame{ frame.size = CGSizeMake(100, 100); [super setFrame:frame];}-(void)setBounds:(CGRect)bounds{ bounds.size = CGSizeMake(100, 100); [super setBounds:bounds];}@end
由此得出结论,如果想要是UIView控件在外部无法改变size,我们只需要重写frame,bounds即可。
同理,我们还可以实现一些其他的操作。
阅读全文
0 0
- IOS 杂笔-11(实现在外部无法改变UIView的size)
- 自定义控件旋转时改变内部布局--监听UIView size的改变
- IOS-47-动态改变UIView高度最简单的方法
- IOS开发-UIView之动画效果的实现方法
- iOS -实现UIView圆角显示的方法
- IOS开发-UIView之动画效果的实现方法
- iOS开发-UIView之动画效果的实现方法
- IOS开发-UIView之动画效果的实现方法(
- iOS 局部快照的实现(UIView to UIImage)
- UIView在设置superview frame的时候会改变大小
- IOS开发-UIView之动画效果的实现方法(合集)
- iOS开发-UIView之动画效果的实现方法(合集)
- IOS开发-UIView之动画效果的实现方法(一)
- IOS开发-UIView之动画效果的实现方法(合集)
- IOS开发-UIView之动画效果的实现方法(合集)
- IOS开发-UIView之动画效果的实现方法(合集)
- IOS开发-UIView之动画效果的实现方法(合集)
- IOS开发-UIView之动画效果的实现方法(合集)
- IOS 杂笔-12(类别de巧用 有便于Frame的操作)
- 依赖注入学习总结
- 构造根文件系统之编译buysbox
- 学习使用MySQL 5.7的sys库--补充
- C语言预处理指令
- IOS 杂笔-11(实现在外部无法改变UIView的size)
- watchdog_dev注册过程分析(待续)
- 使用ffmpeg 获取视频总时长
- struts+ajax返回json数据类型的各种情形及对应的Demo
- python:enumerate
- IOS 网络-深入浅出(一 )
- 在 Angular 项目中配置 Wijmo5
- 没有什么意义的记录
- IOS 网络浅析-(十二 UIWebView简介)