UI控件一些问题

UI控件一些问题

如何立即触发UIButton边界事件

问题:监听UIControlEventTouchDragExit事件,当手指离开button边界时,事件并没有触发,而是到了远离button近70个像素时才收到回调。

UIControlEventTouchDragInside // 保持按下然后在按钮及其一定的外围拖动
UIControlEventTouchDragOutside // 保持按下,在按钮外面拖动
UIControlEventTouchDragEnter // DragOutside进入DragInside触发
UIControlEventTouchDragExit // in到out触发

实现在不同的状态下使用不同的backgroundColor

实现:

继承UIbutton,新增setBackgroundColor:forState 等方法,在设置完各个状态对应的方法后,之后不需要每次状态改变就手动设置背景颜色

UIButton切换state的顺序:

当UIButton被按下时,会启动一个计时器,每隔一段时间,都会去检测按钮是否还处在被按下的状态。如果系统检测到它还处于被按下的状态,则就会切换到UIControlStateHighlighted,否则,恢复到UIControlStateNormal。当你长按后,在当前按钮的区域抬起手时,会切换到UIControlStateSelected,但是,需要注意的是,这次切换不仅会触发setSelected:被调用,也会触发setHighlighted:的一次调用。


字体:

一文让你彻底了解iOS字体相关知识

IOS 字体相关;72种自带字体样式;导入自定义字体;动态字体


UITextField相关

- (BOOL)textField:(UITextField *)textField 
shouldChangeCharactersInRange:(NSRange)range 
replacementString:(NSString *)string
{
	if (range.location >= 12)
		return NO; // return NO to not change text
	return YES;
}

限制UItextField输入长度


UITextView

IQKeyboardManager

处理键盘事件的响应,考虑点击背景收起键盘、考虑键盘遮挡输入框问题等等

- (void)textViewDidChangeSelection:(UITextView *)textView
{
	NSRange range;
	range.location = 0;
	range.length  = 0;
	textView.selectedRange = range;
}

点击 UITextView 输入文字,光标都从最初点开始

posted @ 2016-03-17 15:38  孙焱焱  阅读(215)  评论(0编辑  收藏  举报