ios页面要输入很多信息怎么开发
发布网友
发布时间:2023-02-27 23:45
我来回答
共1个回答
热心网友
时间:2024-10-27 18:29
1、打开另一个界面让用户输入时,要让键盘自动弹出
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.textField becomeFirstResponder];
}
2、keyboard类型要与想要用户输入的内容匹配:只允许输入数字,则把keyboard类型设为Number;输入邮件地址的则设置为email address field
3、keyboard的return类型应设置合理,需要发送的操作则设置为send,一般完成输入则设置为done
4、当TextField内容为空时,应将keyboard的return(或done或其他)设置为disable
在TextField的Attributes inspector中选中Auto-enable Return Key
5、TextField用keyboard完成输入后按下return(或done或其他),将触发Did End On Exit事件
6、当TextField没有输入内容时,将导航栏上的done按钮隐藏
先将改按钮在Attributes inspector中取消Enable
TextField所在的视图的视图控制器实现协议<UITextFieldDelegate>
添加代码:(doneBarButton为视图控制器的一个outlet属性)
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *newText = [textField.text stringByReplacingCharactersInRange:range withString:string];
self.doneBarButton.enabled = ([newText length] > 0);
return YES;
}
7、对数据模型的属性,变量等进行修改时,应将其放在数据模型的方法中,然后在视图控制器中调用该方法
8、想让tableview某个cell不被选中,先设置tableview cell的属性selection为None,再添加以下代码:
-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
return nil;
}
9.如果一个table view cell有两个功能,应添加一个详情按钮,当按下该按钮时,可以查看和编辑,当按下该行其他地方,则触发其他功能(如to-do list中标记某一个cell)。另一种方法则是当点击cell最左边的框框时打上标记,点击该cell其他地方则可以查看和编辑。
10.获取app沙盒Document文件夹路径(用于保存信息):
-(NSString *)documentDirectory
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths firstObject];
return documentsDirectory;
}
11."unrecognized selector"错误一般是没有实现对应的方法导致的
12.自定义初始化init方法格式:
- (id)init {
if ((self = [super init])) {
// Initialization code here.Usually giving properties and instance variables their initial values
}
return self;
}