IOS设置frame的时候经常要先取出来-> 设置-> 最后再赋值回去,非常麻烦,今天给大家推荐一种非常快捷的方法

大家可以去我的Githup下载   https://github.com/simplyou/YJ-UIIView-/tree/master

在设置尺寸的时候亲们有没有感觉很蛋疼啊,这里提供了一套分类,直接放进工程里,在PCH中包含头文件就能解决你蛋疼的问题;

/***********************  .h文件   ********************************

//  UIView+YJ.h

//  Created by 闪电 on 14-6-8.

//  Copyright (c) 2014年 温艳军. All rights reserved.

//  这分类是为了解决在OC中设置宽高的问题,提供了一种快捷的方法

#import <UIKit/UIKit.h>

@interface UIView (YJ)

@property (nonatomic, assign) CGFloat x;

@property (nonatomic, assign) CGFloat y;

@property (nonatomic, assign) CGFloat centerX;

@property (nonatomic, assign) CGFloat centerY;

@property (nonatomic, assign) CGFloat width;

@property (nonatomic, assign) CGFloat height;

@property (nonatomic, assign) CGSize size;

@end

/*****************************华丽分割线**********************

************************  .m文件   **********************************

//  UIView+YJ.h

//  Created by 闪电 on 14-6-8.

//  Copyright (c) 2014年 温艳军. All rights reserved.

//  这分类是为了解决在OC中设置宽高的问题,提供了一种快捷的方法

#import "UIView+YJ.h"

@implementation UIView (YJ)

- (void)setSize:(CGSize)size

{

CGRect frame = self.frame;

frame.size = size;

self.frame = frame;

}

- (CGSize)size

{

return self.frame.size;

}

- (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)setCenterX:(CGFloat)centerX

{

CGPoint center = self.center;

center.x = centerX;

self.center = center;

}

- (CGFloat)centerX

{

return self.center.x;

}

- (void)setCenterY:(CGFloat)centerY

{

CGPoint center = self.center;

center.y = centerY;

self.center = center;

}

- (CGFloat)centerY

{

return self.center.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

IOS设置frame的时候经常要先取出来-> 设置-> 最后再赋值回去,非常麻烦,今天给大家推荐一种非常快捷的方法,布布扣,bubuko.com

时间: 2024-10-24 09:00:54

IOS设置frame的时候经常要先取出来-> 设置-> 最后再赋值回去,非常麻烦,今天给大家推荐一种非常快捷的方法的相关文章

IOS开发学习笔记-(2)键盘控制,键盘类型设置,alert 对话框

一.关闭键盘,放弃第一响应者,处理思路有两种 ① 使用文本框的 Did End on Exit 绑定事件 ② UIControl on Touch 事件 都去操作 sender 的  resignFirstResponder #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UITextField *txtUserName; @pro

webView根据显示内容动态设置frame

不多说,代码如下: 第一步设置代理,实现加载完毕的代理方法,重新根据显示内容设置frame - (void)webViewDidFinishLoad:(UIWebView *) webView { CGSize actualSize = [webView sizeThatFits:CGSizeZero]; CGRect newFrame = webView.frame; newFrame.size.height = actualSize.height; webView.frame = newFr

UIImageView 在切图规范的情况下不用设置frame

UIImageView本身是没有frame的,所以UIImageView不用设置frame,UIImageView的fram由它内部的图片决定,所以当要更改UIImageView的大小显示的时候,更改相应的UIImageView的image就可以了,今天因为这个问题耽误了一段时间来找原因,实例:图标上的大小红点的控制.

ios 的frame,bound,center

frame:指的是视图在父视图的坐标系统中的大小和位置. bound:指的是视图在试图本身的坐标系统中的大小(位置起点是原点). center:指的是视图在父视图坐标系统中的中心点. 贴张苹果官网的图: frame和bound的关系 下面这是其中一个发生变化,其余两个的变化,直接看吧,很浅显. Although you can change the frame, bounds, and center properties independent of the others, changes to

xib文件加载后设置frame无效问题

这个问题在项目中遇到过多次,原因是没有在正确的位置设置frame 应该在 -(void)viewDidLayoutSubviews 中去设置就没问题了

iOS 使用UI控件的外观协议UIAppearance进行设置默认UI控件样式

在iOS开发中,经常会对UINavigationBar的样式进行全局样式.采用的设置方式有两种: 第一种,采用方式如下: [UINavigationBar appearance] 这种是对一类对象的默认全局外观样式设置,它对设置时机有要求. 通常需要在UIWindow的viewlayout之前.错过了时机后,设置是没有效果的. 可以选择在下面方法内设置: - (BOOL)application:(UIApplication *)application didFinishLaunchingWith

iOS - UITableView中有两种重用Cell的方法

UITableView中有两种重用Cell的方法: iOS代码 - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier; - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(6_0); 在iOS 6中dequeueReusableCellWith

html中设置图片,可通过div和img标签设置

方法一:通过img标签的src设置照片路径: 方法二:通过div标签的background-image样式设置照片路径: img设置的照片,能够缩放,而div设置的照片,只能裁剪. dojo中dom-style设置background-image注意事项 1.background-image不能对span标签设置,标签需要定义为div 2.设置是要加上url(),格式为:domstyle.set(this.imgNode,"background","url('../asset

#在FLAT模式下,需要设置flat子网,VM的IP从这个设置的子网中抓取,这时flat_injected需要设置为True,系统才能自动获得IP,如果flat

#在FLAT模式下,需要设置flat子网,VM的IP从这个设置的子网中抓取,这时flat_injected需要设置为True,系统才能自动获得IP,如果flat子网和主机网络是同一网络,网络管理员要注意手动配置主机IP,以免IP冲突. #在FLATDHCP模式下,系统将通过自己的服务为VM分配IP,这时不要将flat_injected设置为True,同时设置flat_network_dhcp_start以防止IP冲突,我想这个参数应该是区别主机IP和VM的IP的. 注: 可以使用下列方法来控制I