- 浏览: 458128 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (538)
- C/C++ Primer (69)
- Objective-C Primer (102)
- Python Primer (19)
- JavaScript Primer (1)
- Java Primer (37)
- PHP Primer (17)
- 泛 Linux (37)
- Shell Script (21)
- APUE (21)
- UNP__1&2 (19)
- NetWork (7)
- Oracle周边 (38)
- Mysql里边 (6)
- Windows技 (9)
- 简单算法 & 数据结构 (14)
- 设计模式 (6)
- GTK历程 (12)
- 工具使用 (25)
- 杂事 (23)
- 一些概念 (17)
- Web方面 (10)
- myCodeTools (9)
- ^未 竟$ (13)
- 硬件通信 (2)
- Games (1)
最新评论
keyboard event
----------------------
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version >= 5.0)
{
[[NSNotificationCenter defaultCenter] addObserver:[AppProperty sharedInstancd]
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillChangeFrameNotification
object:nil];
}
get keyboard height
----------------------
NSDictionary *userInfo = [notification userInfo];
NSValue* aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGFloat height = [aValue CGRectValue].size.height;
contentInset & scroll
----------------------
UITableView *table = (UITableView *)[self superview];
NSIndexPath *indexPath = [table indexPathForCell:self];
CGFloat height = [[AppProperty sharedInstancd] keyboardHeight];
table.contentInset = UIEdgeInsetsMake(0, 0, height, 0);
[table scrollToRowAtIndexPath:indexPath
atScrollPosition:UITableViewScrollPositionBottom
animated:YES];
UITableViewCellReorderControl 滑块
UITableViewCellDeleteConfirmationControl 删除
-----------------------
if([[[view class] description] isEqualToString:@"UITableViewCellReorderControl"])
{
UIView* resizedGripView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetMaxX(view.frame), CGRectGetMaxY(view.frame))];
[resizedGripView addSubview:view];
[self addSubview:resizedGripView];
CGSize sizeDifference = CGSizeMake(resizedGripView.frame.size.width - view.frame.size.width, resizedGripView.frame.size.height - view.frame.size.height);
CGSize transformRatio = CGSizeMake(resizedGripView.frame.size.width / view.frame.size.width, resizedGripView.frame.size.height / view.frame.size.height);
// Original transform
CGAffineTransform transform = CGAffineTransformIdentity;
// Scale custom view so grip will fill entire cell
transform = CGAffineTransformScale(transform, transformRatio.width, transformRatio.height);
// Move custom view so the grip's top left aligns with the cell's top left
transform = CGAffineTransformTranslate(transform, -sizeDifference.width / 2.0, -sizeDifference.height / 2.0);
[resizedGripView setTransform:transform];
for(UIImageView* cellGrip in view.subviews)
{
if([cellGrip isKindOfClass:[UIImageView class]])
[cellGrip setImage:nil];
}
}
UITableViewCellReorderControl 滑块
-----------------------
for (UIView * view in self.subviews)
{
if ([NSStringFromClass([view class]) rangeOfString: @"Reorder"].location != NSNotFound)
{
for (UIView * subview in view.subviews)
{
if ([subview isKindOfClass: [UIImageView class]])
{
((UIImageView *)subview).image = nil;
}
}
}
}
----------------------
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version >= 5.0)
{
[[NSNotificationCenter defaultCenter] addObserver:[AppProperty sharedInstancd]
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillChangeFrameNotification
object:nil];
}
get keyboard height
----------------------
NSDictionary *userInfo = [notification userInfo];
NSValue* aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
CGFloat height = [aValue CGRectValue].size.height;
contentInset & scroll
----------------------
UITableView *table = (UITableView *)[self superview];
NSIndexPath *indexPath = [table indexPathForCell:self];
CGFloat height = [[AppProperty sharedInstancd] keyboardHeight];
table.contentInset = UIEdgeInsetsMake(0, 0, height, 0);
[table scrollToRowAtIndexPath:indexPath
atScrollPosition:UITableViewScrollPositionBottom
animated:YES];
UITableViewCellReorderControl 滑块
UITableViewCellDeleteConfirmationControl 删除
-----------------------
if([[[view class] description] isEqualToString:@"UITableViewCellReorderControl"])
{
UIView* resizedGripView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetMaxX(view.frame), CGRectGetMaxY(view.frame))];
[resizedGripView addSubview:view];
[self addSubview:resizedGripView];
CGSize sizeDifference = CGSizeMake(resizedGripView.frame.size.width - view.frame.size.width, resizedGripView.frame.size.height - view.frame.size.height);
CGSize transformRatio = CGSizeMake(resizedGripView.frame.size.width / view.frame.size.width, resizedGripView.frame.size.height / view.frame.size.height);
// Original transform
CGAffineTransform transform = CGAffineTransformIdentity;
// Scale custom view so grip will fill entire cell
transform = CGAffineTransformScale(transform, transformRatio.width, transformRatio.height);
// Move custom view so the grip's top left aligns with the cell's top left
transform = CGAffineTransformTranslate(transform, -sizeDifference.width / 2.0, -sizeDifference.height / 2.0);
[resizedGripView setTransform:transform];
for(UIImageView* cellGrip in view.subviews)
{
if([cellGrip isKindOfClass:[UIImageView class]])
[cellGrip setImage:nil];
}
}
UITableViewCellReorderControl 滑块
-----------------------
for (UIView * view in self.subviews)
{
if ([NSStringFromClass([view class]) rangeOfString: @"Reorder"].location != NSNotFound)
{
for (UIView * subview in view.subviews)
{
if ([subview isKindOfClass: [UIImageView class]])
{
((UIImageView *)subview).image = nil;
}
}
}
}
发表评论
-
float equal
2013-05-23 18:21 818- (BOOL)floatA:(float)f1 equalB ... -
Coding Guidelines for Cocoa
2013-05-17 16:53 664参考: https://developer.apple.com ... -
Cell
2013-05-16 14:32 787- (void)tableView:(UITableView ... -
Object-C编程规范
2013-05-15 10:49 7341.参考苹果的文档 “Coding Guidelines fo ... -
MacPorts
2013-02-28 18:12 613http://blog.csdn.net/lynjay/art ... -
KVC/KVO 监听对象属性变化
2013-01-10 23:09 7400http://blog.csdn.net/a6472953/a ... -
ios Associative 扩展属性
2013-01-08 16:45 1536@dynamic和@synthesize http://blo ... -
ObjC Dynamic
2013-01-08 15:21 772原文:http://www.onevcat.com/2012/ ... -
UIWebView
2012-10-24 11:06 744http://hi.baidu.com/wei_1123/it ... -
Device orientation
2012-10-15 16:20 746- (BOOL)shouldAutorotateToInter ... -
system notification
2012-10-12 15:22 625for UIApplication These notifi ... -
NSZombies
2012-08-09 08:51 666NSZombies搞定EXC_BAD_ACCESS http: ... -
Quartz 2D Programming Guide
2012-07-17 00:51 592Quartz 2D 内容不少啊 Graphics Trans ... -
NSCache
2012-07-12 14:25 754http://thenewself.blog.163.com/ ... -
NSCoding
2012-07-12 13:39 958@protocol NSCoding - (void ... -
分析 crash 报告的方法
2012-07-12 01:15 582http://blog.csdn.net/toss156/ar ... -
Multi-touch
2012-07-11 23:33 723智能与灵活与工作量>_< http://www.o ... -
iOS的多核编程和内存管理
2012-07-11 18:14 715http://anxonli.iteye.com/blog/1 ... -
NSCopying
2012-07-10 15:54 519http://www.apple.com.cn/develop ... -
NSTimeZone
2012-07-10 14:42 438http://developer.apple.com/libr ...
相关推荐
本教程将详细介绍如何利用UITableView和UITextField来实现这一功能,以提升用户体验。 首先,我们要明白UITableView是iOS中用于展示列表数据的核心控件,它可以显示一列或多列数据,并且支持滚动。而UITextField则...
然而,在实际应用中,我们经常会遇到一个问题:当用户在`UITableView`中的输入框(如UITextField)中输入时,弹出的键盘可能会遮挡住部分或全部表格内容,这无疑会给用户体验带来困扰。针对“`UITableView`处理键盘...
为了使补全的内容处于选中状态,我们需要创建一个自定义的视图或者使用已有的UI组件(如`UITableView`)来展示这些补全选项,并在用户选择某一项时,自动填充到`UITextField`中。同时,我们还需要处理光标的位置,...
这是一个有输入框搜索功能的Demo,由UITableView和UITextField组合而成。但是之间有些地方处理的不太好,例如,输入汉字的时候,textfieldDelegate没有检测到,所以在项目中加入了定时器,以便每次的去刷新,检测...
在mytabledemo项目中,可能还涉及到了UITableView与UITextField的结合使用。例如,在单元格(UITableViewCell)内嵌入UITextField,这样用户可以直接在表格中输入数据。这需要实现UITableViewDataSource和...
title date tags UIMaker 2021-04-09 10:38:59 -0700 ...目前 支持创建 UILabel 、 UIButton 、 UIImageView 、 UITableView 、 UITextField 、UITextView 、UICollectionView 后续还会继续拓展 [Maker(UIMakerTypeLa
`Delegate`机制是iOS设计模式的基础,广泛应用于UIViewController、UITableView、UITextField等组件,实现事件响应和数据传递。 在标题“delegate 使用 xcode iOS”中,我们主要探讨的是如何在Xcode环境下利用`...
上面主要是一个个的UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以在UITableViewCell中加入UITextField或者UITextView等子视图,使得可以在cell上进行文字编辑。 UITableView中的cell可以有很多,...
2. **UIKit框架**:它是构建iOS用户界面的核心,包括UIViewController,UIView,UILabel,UIButton,UITextField,UITableView等控件的使用。 3. **邮件服务集成**:MFMailComposeViewController的使用,允许用户在...
6. UI界面元素(UITableView,UITextField等):用户界面与数据模型的桥梁,将数据显示出来,并接收用户的输入。 7. 模块间通信(Delegate,Notification):用于不同组件间的协同工作,例如,当新学生信息被添加时...
总结起来,实现“类似于百度输入框历史记录的UI效果”涉及的关键技术包括`UITextField`的监听、`UITableView`的数据绑定和自定义动画。通过结合这些组件和方法,我们可以创建一个功能完善的搜索历史界面。在实际项目...
在iOS开发中,UIKit框架中的许多类,如UITableView、UITextField等,都广泛使用了Delegate机制。 首先,我们需要创建一个协议。在Objective-C中,这通常如下所示: ```objc @protocol MyDelegate - (void)perform...
为了模仿百度输入提示的效果,你可以自定义`UITextField`的背景、文字颜色、字体等属性,以及`UITableView`的样式,比如边框、分割线等,使其看起来更加协调。 在DemoMail项目中,可能包含了实现上述功能的代码...
在iOS开发中,静态单元格(Static Cells)是一种在UITableView中的设计模式,它允许开发者预定义和固定表视图中的内容,而不是通过数据源方法动态填充。这种方式在创建设置界面或者有固定内容的列表时非常实用,因为...
// 配置cell,如添加UILabels和UIControls(如UITextField或UISwitch) // ... return cell; } ``` 3. **UITableViewDelegate协议**:这个协议提供了与用户交互相关的回调。对于滚动表单,你需要关注`tableView:...
这种情况下,我们可以自定义一个`UITextField`的子类,并在其点击事件中弹出一个列表(通常是一个`UITableView`)来显示这些选项。 在这个案例中,开发者封装了一个名为`ZJTextField`的类。它扩展了`UITextField`的...
当`UITextField`位于可滚动视图(如UITableView或UICollectionView)中时,开始编辑时,系统会调整文本视图的高度以容纳键盘,这可能导致文本框内的文字相对于视图的位置发生偏移。同时,`UITextField`的`...
源码BFKit,BFKit对常用于开发的类进行了扩展,整合了多个常用的控件和开发所需要的功能,是一个通用性的类库。... UITableView UITextField UIView UIWebView UIWindow BFKit: BFPassword BFSystemSound