zoukankan      html  css  js  c++  java
  • 构建一个基于UIView的类别

      很多时候,如果我们想给我们的控件赋值,例如给控件的长度、宽度等赋值,很麻烦

      需要先获取到当前frame,再整个临时frame来保存,修改赋值后再还给当前的frame,这都是重复性高的苦力活,解决方法就是写一个类别,这些步骤都挂起来,大家一起用。

      话不多说看类别:

    头文件:

      

     1 //
     2 //  UIView+Extension.h
     3 //  XibaTest
     4 //
     5 //  Created by bos on 15-6-11.
     6 //  Copyright (c) 2015年 axiba. All rights reserved.
     7 //
     8 
     9 #import <UIKit/UIKit.h>
    10 
    11 @interface UIView (Extension)
    12 
    13 @property (nonatomic,assign) CGFloat x;
    14 @property (nonatomic,assign) CGFloat y;
    15 @property (nonatomic,assign) CGFloat centerX;
    16 @property (nonatomic,assign) CGFloat centerY;
    17 @property (nonatomic,assign) CGFloat width;
    18 @property (nonatomic ,assign) CGFloat height;
    19 @property (nonatomic, assign) CGSize size;
    20 @property (nonatomic,assign) CGPoint orign;
    21 
    22 @end

    代码文件:

      1 //
      2 //  UIView+Extension.m
      3 //  XibaTest
      4 //
      5 //  Created by bos on 15-6-11.
      6 //  Copyright (c) 2015年 axiba. All rights reserved.
      7 //
      8 
      9 #import "UIView+Extension.h"
     10 
     11 @implementation UIView (Extension)
     12 
     13 -(void)setX:(CGFloat)x
     14 {
     15     CGRect frame = self.frame;
     16     frame.origin.x = x;
     17     self.frame = frame;
     18 }
     19 -(CGFloat)x
     20 {
     21     return self.frame.origin.x;
     22 }
     23 
     24 -(void)setY:(CGFloat)y
     25 {
     26     CGRect frame = self.frame;
     27     frame.origin.y = y;
     28     
     29     self.frame = frame;
     30 }
     31 -(CGFloat)y
     32 {
     33     return self.frame.origin.y;
     34 }
     35 
     36 -(void)setCenterX:(CGFloat)centerX
     37 {
     38     CGPoint center = self.center;
     39     center.x = centerX;
     40     self.center = center;
     41 }
     42 -(CGFloat)centerX
     43 {
     44     return self.center.x;
     45 }
     46 
     47 -(void)setCenterY:(CGFloat)centerY
     48 {
     49     CGPoint center = self.center;
     50     center.y = centerY;
     51     self.center = center;
     52 }
     53 -(CGFloat)centerY
     54 {
     55     return self.center.y;
     56 }
     57 
     58 -(void)setWidth:(CGFloat)width
     59 {
     60     CGRect frame = self.frame;
     61     frame.size.width = width;
     62     
     63     self.frame = frame;
     64 }
     65 -(CGFloat)width
     66 {
     67     return self.frame.size.width;
     68 }
     69 
     70 -(void)setHeight:(CGFloat)height
     71 {
     72     CGRect frame = self.frame;
     73     frame.size.height = height;
     74     
     75     self.frame = frame;
     76 }
     77 -(CGFloat)height
     78 {
     79     return self.frame.size.height;
     80 }
     81 
     82 -(void)setSize:(CGSize)size
     83 {
     84     CGRect frame = self.frame;
     85     frame.size =size;
     86     self.frame = frame;
     87 }
     88 -(CGSize)size
     89 {
     90     return self.frame.size;
     91 }
     92 
     93 -(void)setOrign:(CGPoint)orign
     94 {
     95     CGRect frame = self.frame;
     96     frame.origin = orign;
     97     
     98     self.frame = frame;
     99 }
    100 -(CGPoint)orign
    101 {
    102     return self.frame.origin;
    103 }
    104 
    105 @end

      写完类别,记得引入,可以在个别控制器中单独引入,也可以在pch文件中  #import "UIView+Extension.h" ,大家一起用。

  • 相关阅读:
    小喵的在线共享编辑器
    简易漫画网站搭建-漫画喵Server版
    爬虫-漫画喵的100行逆袭
    应用OpenMP的一个简单的设计模式
    基于Caffe的Large Margin Softmax Loss的实现(中)
    基于Caffe的Large Margin Softmax Loss的实现(上)
    Oracle GoldenGate OGG管理员手册
    Spark快速大数据分析之RDD基础
    Apache Spark大数据分析入门(一)
    一文教你看懂大数据的技术生态圈:Hadoop,hive,spark
  • 原文地址:https://www.cnblogs.com/daomul/p/4662402.html
Copyright © 2011-2022 走看看