UI控件一些问题
问题:监听UIControlEventTouchDragExit事件,当手指离开button边界时,事件并没有触发,而是到了远离button近70个像素时才收到回调。
UIControlEventTouchDragInside // 保持按下然后在按钮及其一定的外围拖动
UIControlEventTouchDragOutside // 保持按下,在按钮外面拖动
UIControlEventTouchDragEnter // DragOutside进入DragInside触发
UIControlEventTouchDragExit // in到out触发
实现:
继承UIbutton,新增setBackgroundColor:forState 等方法,在设置完各个状态对应的方法后,之后不需要每次状态改变就手动设置背景颜色
UIButton切换state的顺序:
当UIButton被按下时,会启动一个计时器,每隔一段时间,都会去检测按钮是否还处在被按下的状态。如果系统检测到它还处于被按下的状态,则就会切换到UIControlStateHighlighted,否则,恢复到UIControlStateNormal。当你长按后,在当前按钮的区域抬起手时,会切换到UIControlStateSelected,但是,需要注意的是,这次切换不仅会触发setSelected:被调用,也会触发setHighlighted:的一次调用。
字体:
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
处理键盘事件的响应,考虑点击背景收起键盘、考虑键盘遮挡输入框问题等等
- (void)textViewDidChangeSelection:(UITextView *)textView
{
NSRange range;
range.location = 0;
range.length = 0;
textView.selectedRange = range;
}
点击 UITextView 输入文字,光标都从最初点开始