让结构体类型frame的某个属性可以直接修改
来源:互联网 发布:php文件属性读取 编辑:程序博客网 时间:2024/06/14 19:04
本文是对让结构体类型frame的某个属性可以直接修改的讲解,对学习IOS苹果软件开发有所帮助,与大家分享。
本篇是是本人在博客园写的第一篇博客,前几天因为种种原因最终决定离开混了几年的csdn。希望在博客园有个新的开始
Foundation框架里面的frame是大家最熟悉不过的一个属性了,但是修改起来比较麻烦,他是CGRect类型的CGRect是结构体 结构体类型里面的某个属性如果想要修改是不允许单个修改的,必须像下面这样先取出,改一下再重新赋值回去,也就是大家常说的三部曲
如果结构体类型的东西也可以直接修改 那会有多爽?就像下面这样。
其实只要自己给UIView写个分类就好了 用这个分类来替代frame。
大概思想就是给用分类给UIView多增加几个属性x,y,height,width。这几个属性都分别实现get方法和set方法。这样以后frame就可以离开他了
分类UIView+Frame 声明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//
// UIView+Frame.h
// SXDownLoader
//
// Created by 董尚先 on 15/1/2.
// Copyright (c) 2015年 shangxianDante. All rights reserved.
//
import
import “UIView+Frame.h”
@implementation UIView (Frame)
(void)setX:(CGFloat)x
{
CGRect frame = self.frame;
frame.origin.x = x;
self.frame = frame;
}(CGFloat)x
{
return self.frame.origin.x;
}(void)setY:(CGFloat)y
{
CGRect frame = self.frame;
frame.origin.y = y;
self.frame = frame;
}(CGFloat)y
{
return self.frame.origin.y;
}(void)setWidth:(CGFloat)width
{
CGRect frame = self.frame;
frame.size.width = width;
self.frame = frame;
}(CGFloat)width
{
return self.frame.size.width;
}(void)setHeight:(CGFloat)height
{
CGRect frame = self.frame;
frame.size.height = height;
self.frame = frame;
}(CGFloat)height
{
return self.frame.size.height;
}
@end
之后在需要的地方Import一下
就可以把那些UI控件什么的frame轻松的单个修改了
- 让结构体类型frame的某个属性可以直接修改
- iOS-让结构体类型frame的属性可以直接修改
- iOS:一种直接修改frame的某个属性的方法
- 在OC中直接修改frame结构体的某项属性
- swift可以直接修改控件的frame
- 不允许直接修改对象的结构体属性的成员
- 层次遍历二叉树(相同类型的结构体可以直接赋值)
- 同类型的结构体变量可以元素直接赋值,而不是地址赋值
- Objective-C 【OC语法:不能修改 某个对象的 结构体属性的 成员】
- 【iOS开发-40】不能直接修改对象的结构体属性的成员,那怎么办?
- Openstack中更新表结构:修改表的某个字段使之可以为空
- 结构体中定义的联合成员可以直接访问!
- 结构体类型的变量名并不能直接当作地址使用,这一点和基本数据类型相同。(修改版)
- iOS中可以直接调用 某个对象的消息
- quartz定时修改某个属性的值
- 结构体可以用等号直接赋值
- C++ 结构体可以直接赋值
- Expression is not assignable (OC为什么不能直接修改结构体属性)!
- 粗略。。。java设计模式总结。。。studying
- COCOS2dx 实现地图缩放和拖动/拖动助力
- Chromium的IPC消息发送、接收和分发机制分析
- Windows创建菜单
- 堆排序
- 让结构体类型frame的某个属性可以直接修改
- HDU 1010 Tempter of the Bone(DFS)
- 03_Nginx添加新模块
- LeetCode 题解(188): Ugly Number II
- Firebug折腾记_(1)安装及简介
- Iocomp控件之数字显示【图文】
- 百钱买百鸡之数学优化
- shell中的颜色显示
- iOS开发中常用分类