【问题标题】:Objective-C Base class for view and text field用于视图和文本字段的 Objective-C 基类
【发布时间】:2011-09-23 18:36:00
【问题描述】:

所以我正在开发一个程序,里面有多个小程序。主窗口显示所有小程序,目前只有一个在工作,但它们都有些相似,所以我点击“TimeEntry”按钮,这样我就会进入另一个视图控制器:

(IBAction)btnTe_clicked:(id)sender 
{

TELogin *ViewTELogin = [[TELogin alloc] init];


ViewTELogin.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;


[self presentModalViewController:ViewTELogin animated:YES];

[ViewTELogin release];

}

然后输入一些数据,验证并转到下一个视图控制器,如果我想返回,我使用:

- (IBAction)btnMenu_clicked:(id)sender

{

[[self parentViewController] dismissModalViewControllerAnimated:YES];

}

到目前为止一切都很好,迷你应用程序可以运行,但是代码很难看,在每个视图控制器中我必须设置一个滚动视图、一些常量和 UITextField 方法,以防止文本字段被键盘隐藏:

-(void)textFieldDidEndEditing:(UITextField *)textField
{

CGRect viewFrame =self.view.frame;
viewFrame.origin.y += animatedDistance; //animated distance is a CGFloat
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:KEYBOARD_ANIMATION_DURATION];
[self.view setFrame:viewFrame];
[UIView commitAnimations];

}

而且我很确定可以创建一个实现滚动视图和文本字段委托的基类,然后对于每个视图控制器,我只需要导入基类并设计我的界面。但到目前为止我所做的一切都只是浪费时间,这就是我寻求帮助的原因。

【问题讨论】:

  • 所以你的意思是说你所有的视图都会有一个滚动视图和一个文本字段?
  • 滚动视图仅在键盘出现时使文本字段居中且每个视图的文本字段数量不同

标签: iphone objective-c delegates uitextfield base


【解决方案1】:

您熟悉MVC 文档吗?

如果没有,请尝试制作自己的 View 类和 Model 类。模型类将保存您的数据,可能还有其他属性(取决于您的设计),而 View 类将保存 UITextField 和 ViewController 中已经存在的任何其他视图。

【讨论】:

  • 我已经有一个模型类充当单例,因为它存储了我的 sql 2008 查询的所有字段并使其可供我的所有视图控制器访问,但我认为我的问题在这里,我有每个视图都有一个视图控制器,我确信我只能有一个视图控制器,让我们说我的应用程序中的每个迷你应用程序,我试图在没有任何 xib 的情况下创建自己的视图类,这样我就可以在实例化它的地方修改它的界面但没有成功,而且我不知道如何实际将接口链接到它并添加所有行为相同的文本字段(使用相同的委托以不被 keyboa 隐藏
猜你喜欢
  • 2016-01-30
  • 1970-01-01
  • 2012-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-15
相关资源
最近更新 更多