Object-C知识点 (二) 控件的实用属性

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

#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(0, 10, 0, 0);

// imageEdgeInsets:只影响按钮内部的imageView
button.imageEdgeInsets = UIEdgeInsetsMake(20, 0, 0, 50);

// 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 - 40, 100000) 
                options:NSStringDrawingUsesLineFragmentOrigin
                attributes:
                @{NSFontAttributeName:[UIFont systemFontOfSize:17]}
                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(50, 180, self.view.bounds.size.width, 30)];
// 真实高度为会发生变化,界面不会变化,设置背景颜色查看
//滑块的颜色
_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(50, 130, 275, 20);
//真实高度不会改变,界面不会变化

//设置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开发高手!!!解答您的问题!!!

原文地址:https://www.cnblogs.com/CoderEYLee/p/Object-C-0014.html