开发过程中的组件不常用但是很实用的属性!!!!!!


#pragma mark -- UIColor
colorWithPatternImage: 根据图片显示颜色,会将图片裁剪

#pragma mark--Button

//自适应
[self.button sizeToFit]; //禁止触摸事件的2种方式 //方式一: 会改变按钮状态,颜色会变灰
self.button.enabled = NO; //方式二: 保持按钮状态,颜色不会变
self.button.userInteractionEnabled = NO; // 按钮高亮的时候,不要去调整图片(不要调整图片为灰色)
self.button.adjustsImageWhenHighlighted = NO; //当按钮不能点击的时候,不要调整为灰色
self.button.adjustsImageWhenDisabled = NO; //最彻底的解决办法(重写setHighlighted方法)
- (void)setHighlighted:(BOOL)highlighted { } // titleEdgeInsets:只影响按钮内部的titleLabel
button.titleEdgeInsets = UIEdgeInsetsMake(, , , ); // imageEdgeInsets:只影响按钮内部的imageView
button.imageEdgeInsets = UIEdgeInsetsMake(, , , ); // contentEdgeInsets:会影响按钮内部的所有内容(里面的imageView和titleLabel)
// button.contentEdgeInsets = UIEdgeInsetsMake(10, 100, 0, 0); //需要设置按钮的image和backgroundImage,建议先把按钮类型改为custom,才能保证设置成功 // 避免多个按钮同时点击 app 启动方法中增加
// [[UIButton appearance] setExclusiveTouch:YES];

#pragma mark--text文本框

//计算内容需要的空间大小
CGRect rect = [@"abcdefg" boundingRectWithSize:CGSizeMake(bounds.size.width - , )
                options:NSStringDrawingUsesLineFragmentOrigin
                attributes:
                @{NSFontAttributeName:[UIFont systemFontOfSize:]}
                context:nil];

#pragma mark -- textView 文本框
selectedRange :
1.本来是用来控制textView的文字选中范围
2.如果selectedRange.length为0,selectedRange.location就是textView的光标位置

关于textView文字的字体
1.如果是普通文字(text),文字大小由textView.font控制
2.如果是属性文字(attributedText),文字大小不受textView.font控制,应该利用NSMutableAttributedString的
- (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range;方法设置字体

#pragma mark--UISlider 滑块

_slider = [[UISlider alloc] initWithFrame:CGRectMake(, , self.view.bounds.size.width, )];
// 真实高度为会发生变化,界面不会变化,设置背景颜色查看
//滑块的颜色
_slider.thumbTintColor = [UIColor redColor]; //滑块左边的颜色
_slider.minimumTrackTintColor = [UIColor yellowColor]; //滑块右边的颜色
_slider.maximumTrackTintColor = [UIColor blueColor]; //ValueChanged: 当UISlider的值发生变化时调用.
//TouchDown: 当UISlider被按下时调用.
//TouchUpInside/TouchUpOutside: 松开时调用.

#pragma mark -- UIProgressView 进度条

self.progressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault];

self.progressView.frame = CGRectMake(, , , );
//真实高度不会改变,界面不会变化 //设置progress的大小 0.0--1.0 默认是0.0
self.progressView.progress = 0.0;

#pragma mark--UIImagePickerController 图片选择器

// 设置编辑图像的属性
self.picker.allowsEditing = YES;

#pragma mark--UIScrollView 图片的滚动

[scrollView.panGestureRecognizer translationInView:scrollView.superview].x
< 0 向左滑 = 0 上下滑动 >0 向右滑动

更多内容--> 博客导航 每周一篇哟!!!

有任何关于iOS开发的问题!欢迎下方留言!!!或者邮件lieryangios@126.com 虽然我不一定能够解答出来,但是我会请教iOS开发高手!!!解答您的问题!!!


Object-C知识点 (二) 控件的实用属性的更多相关文章

  1. Duilib源码分析(二)控件构造器—CDialogBuilder

    上一节了解了大体流程,但是界面控件元素是如何被加载.解析.构建.管理.控件消息如何处理的呢?接下来我们将结合控件构造器进行分析: CDialogBuilder:控件构造器,主要用以解析xml配置文件并 ...

  2. Victor 串口 VCL 控件 - 简单实用, 功能强大的 C++ Builder 串口控件!

    源:Victor 串口 VCL 控件 - 简单实用, 功能强大的 C++ Builder 串口控件! 2014年02月06日发布控件的重要更新版本: Victor 串口控件 1.5.0.2 版本 (包 ...

  3. Binding(二):控件关联和代码提升

    上节我们讲到,使用Binding,我们可以关联后台代码中的属性,在某些情况下,我们可能需要将两个控件关联起来,借助Binding,我们也可以轻松的实现. 关联控件 设想这样一个场景,界面中有个Chec ...

  4. 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试

    原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...

  5. C# winform项目中ListView控件使用CheckBoxes属性实现单选功能

    C# winform项目中ListView控件使用CheckBoxes属性实现单选功能 在做项目时需要使用ListView控件的CheckBoxes属性显示,还要在点击行时自动选中CheckBoxes ...

  6. 【转】WPF中PasswordBox控件的Password属性的数据绑定

    英文原文:http://www.wpftutorial.net/PasswordBox.html 中文原文:http://blog.csdn.net/oyi319/article/details/65 ...

  7. TextBox控件的DataBindings属性

    DataBindings属性是很多控件都有的属性,作用有2方面.一方面是用于与数据库的数据进行绑定,进行数据显示.另一方面用于与控件或类的对象进行数据绑定.这里主要关注后者.主要用法是将某个对象的某个 ...

  8. C#控件方法及属性大全,望补充

    C#控件及常用设计整理 1.窗体 常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2) WindowState属性: 用来获取或设置窗体的窗口状态 ...

  9. 关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false

    关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false 我们在 Unity 中通过 UI 菜单创建的各种控件,比如 Text, Image 等, ...

随机推荐

  1. 项目Contact开发中遇到的,引以为戒

    程序进去就闪退 其中指示错误的地方,函数内容如下: public void loadButtomMenu() { gv_buttom_menu = (GridView) this.findViewBy ...

  2. Intel CPU命名规则的简略解析

    Intel的CPU命名规则一直不是特别清楚,而网上的很多解读是不准确,甚至是错误的,应该以官方文档为准.所以我在查阅官方资料的基础上,以一种简明扼要的方式记录下来.值得说明的是,这个解析只是简略的,一 ...

  3. HTML中部分标签的嵌套问题

    书写HTML结构的时候,对于标签的嵌套问题,在我发现这个问题之前,都不在自己的考虑之中,还傻傻的以为标签之间是可以进行百搭的! 其实,有些标签是不能进行随意嵌套,如果你没有深受其害,你是不会发现它的存 ...

  4. 用border或者div制作三角形等图形

    一般情况下, 我们设置盒子的宽高度, 及上下左右边框, 具体代码如下: 通过上述代码,div的具体样式如下: 现在在上面基础上, 我们把div的宽高度都设为0时, 现在我们再次查看效果,如下图: 这时 ...

  5. Vulkan Tutorial 05 逻辑设备与队列

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 Introduction 在选择要使用的物理设备之后,我们需要设置一个逻辑设备用于交 ...

  6. JS之DOM那些事

    DOM 是 Document Object Model(文档对象模型)的缩写.DOM分为核心DOM.XML DOM.HTML DOM,我们接触的主要是HTML DOM,HTML DOM 定义了所有 H ...

  7. PHP编译

    编译php-5.3.6的时候需要先打一个内存泄露的补丁,具体的操作如下 tar vzxf suhosin-0.9.32.1.tar.gz tar vjxf php-5.3.6.tar.bz2 cd p ...

  8. Hibernate入门(一)

    一 Hibernate介绍 Hibernate 是一个开源.轻量级的ORM(对象关系映射)工具,该工具简化了数据创建.数据处理和数据访问,它是一种将对象映射到数据库中表的编程技术.ORM工具内部使用J ...

  9. post和get方式区别

    Ajax中我们经常用到get和post请求.那么什么时候用get请求,什么时候用post方式请求呢? 在做回答前我们首先要了解get和post的区别.1. get是把参数数据队列加到提交表单的ACTI ...

  10. 使用CSS3动画实现绚丽的照片墙效果

    临近毕业了,一大波毕业照又要来袭了!如何使用CSS3属性制作出自己的网页版照片墙呢? 闲话少说,先来看看效果图 效果要求: 1,照片要求有一定的白色边框. 2,照片都要有一定的倾斜角度. 3,鼠标移动 ...