IOS 杂笔-11(实现在外部无法改变UIView的size)
我想题目说的或许不是很清楚,那么现在我详细介绍一下这篇随笔内容。
在外部无法改变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(, ); [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(, , , ); [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(, ); [super setFrame:frame];
}
-(void)setBounds:(CGRect)bounds{ bounds.size = CGSizeMake(, ); [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(, ); [super setFrame:frame];
}
-(void)setBounds:(CGRect)bounds{ bounds.size = CGSizeMake(, ); [super setBounds:bounds];
}
@end
由此得出结论,如果想要是UIView控件在外部无法改变size,我们只需要重写frame,bounds即可。
同理,我们还可以实现一些其他的操作。
IOS 杂笔-11(实现在外部无法改变UIView的size)的更多相关文章
- iOS 杂笔-25(不要用copy修饰NSMutableString)
iOS 杂笔-25(不要用copy修饰NSMutableString) 首先对题目进行简单的解释,我所说的不要用copy修饰NSMutableString不是说完全不可以用.但是要清楚一点,既然使用N ...
- iOS 杂笔-24(常用类到NSObject的继承列表)
iOS 杂笔-24(常用类到NSObject的继承列表) NSString NSObject->NSString NSArray NSObject->NSArray ↑OC基本类都直接继承 ...
- iOS 杂笔-23(区分各种空值)
iOS 杂笔-23(区分各种空值) nil是一个对象指针为空 Nil是一个类指针为空 NULL是基本数据类型为空 NSNull空对象(是可以放在数组里的)
- iOS 杂笔-22(万年一遇~一张图片对代理的理解)
iOS 杂笔-22(万年一遇~一张图片对代理的理解) 建议:本博客需要对代理有一定了解方可阅读(反正我也管不到) 图片 在图片之外设置协议(没有这东西这篇博客也就是夭折了) 下面我对图片中出现的形形色 ...
- iOS 杂笔-21(self.name = “object” 和 _name =”object” 有什么不同?)
iOS 杂笔-21(self.name = "object" 和 _name ="object" 有什么不同?) 问题如题,这是考察对属性与变量的了解而已. s ...
- iOS 杂笔-20(UIView和CALayer的区别与联系)
iOS 杂笔-20(UIView和CALayer的区别与联系) 每个 UIView 内部都有一个 CALayer 在背后提供内容的绘制和显示,并且 UIView 的尺寸样式都由内部的 Layer 所提 ...
- IOS 杂笔-19(属性与变量的优缺点)
IOS 杂笔-19(属性与变量的优缺点) 在前面的文章中我介绍了属性与变量的区别.这篇博客我将会简单介绍一下属性与变量的优缺点. 变量 优点: 访问速度快 缺点: 使用不灵活 属性 缺点: 耗时 优点 ...
- iOS 杂笔-26(苹果禁用热更新)
iOS 杂笔-26(苹果禁用热更新) 苹果爸爸禁用热更新小伙伴们有什么想说的吗? 苹果爸爸禁用热更新小伙伴们有什么想说的吗? 苹果爸爸禁用热更新小伙伴们有什么想说的吗?
- IOS 杂笔-9 (MD5 加密)
首先是一段对MD5的简介 *出自一位大牛之手* Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护 ...
随机推荐
- 一文搞懂HMM(隐马尔可夫模型)
什么是熵(Entropy) 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度.熵越大,系统越无序,意味着系统结构和运动的不确定和无规则:反之,,熵越小,系统越有序,意味着具有确定和有 ...
- myeclipse 无法启动 java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
把myeclipse10 按照目录完整拷贝到了另外一台电脑, 另外的目录 原安装目录 D\:\soft\i\myeclipse10 新安装目录 E\:\soft\myeclipse10 双击启动失败, ...
- 你所不知道的setInterval
在你所不知道的setTimeout记载了下setTimeout相关,此篇则整理了下setInterval:作为拥有广泛应用场景(定时器,轮播图,动画效果,自动滚动等等),而又充满各种不确定性的这set ...
- 【.net 深呼吸】自定义特性(Attribute)的实现与检索方法
在.net的各个语言中,尤其是VB.NET和C#,都有特性这一东东,具体的概念,大家可以网上查,这里老周说一个非标准的概念——特性者,就是对象的附加数据.对象自然可以是类型.类型成员,以及程序集. 说 ...
- 使用AWS亚马逊云搭建Gmail转发服务(二)
title: 使用AWS亚马逊云搭建Gmail转发服务(二) author:青南 date: 2014-12-31 14:44:27 categories: [Python] tags: [Pytho ...
- 高性能JavaScript--加载和执行(简要学习笔记一)
1.多数浏览器使用单一进程来处理用户界面刷新和JavaScript脚本的执行.所以同一时刻只能做同一件事.JavaScript执行过程耗时越久,浏览器等待相应的时间就越长. 2.<scrip ...
- 理解 Neutron FWaaS - 每天5分钟玩转 OpenStack(117)
前面我们学习了安全组,今天学习另一个与安全相关的服务 -- FWaaS.理解概念 Firewall as a Service(FWaaS)是 Neutron 的一个高级服务.用户可以用它来创建和管理防 ...
- SubSonic3.0使用存储过程查询时,不能使用output参数返回值的问题修改
有个群友问SubSonic3.0执行存储过程时能不能使用output参数返回值,说测试过后获取不到返回值,早上有些时间所以就尝试修改了一下 首先在数据库中创建一个存储过程 CREATE PROCEDU ...
- 用scikit-learn学习K-Means聚类
在K-Means聚类算法原理中,我们对K-Means的原理做了总结,本文我们就来讨论用scikit-learn来学习K-Means聚类.重点讲述如何选择合适的k值. 1. K-Means类概述 在sc ...
- 梯度提升树(GBDT)原理小结
在集成学习之Adaboost算法原理小结中,我们对Boosting家族的Adaboost算法做了总结,本文就对Boosting家族中另一个重要的算法梯度提升树(Gradient Boosting De ...