我正在研究iOS应用程序。基本上,我的应用程序的一部分有一个大的滚动视图,其他6个滚动视图添加为子视图(使用方法[scrollView addSubview:object.view]),以便它在6个不同的滚动视图之间切换。每个滚动视图都有一些我需要保存内容的文本视图。 在每个子滚动视图中,我向键盘添加了一个inputAccessoryView来添加一个Done按钮,并且当按下此按钮时我想调用一个方法来保存数据,然后删除键盘(后者我已经完成了,我只需要弄清楚保存部分)。 我觉得在我的'超级'滚动视图中有一个方法可以更容易地保存所有的数据,所以我可以在每个子滚动视图中添加几行代码(顺便说一句,这些子滚动视图不是' t从主scrollview分类,它们是UIViewController的子类,所以我不能只使用super),因为我必须将其复制/粘贴到6个不同的文件中。我可以通过在'sub'滚动视图中导入并创建一个新对象来访问'超级'类(具有其他所有其他类的大滚动视图),但我觉得这不是我应该做的。这导致我进入我的下一个问题。 如果以这种方式访问更大的滚动视图,试图访问UITextViews的text属性将返回null,而从子滚动视图的类中访问相同的属性将显示文本。访问将scrollview作为子视图和其他一些问题添加的类
请让我知道我是否做了一件完全错误的事情,因为我觉得有6种不同的滚动效果真的是效率低下(但在两个iPod touch,第二代和第四代测试它,没有太多滞后在所有所以也不能太低效,否则它会养猪的内存,使其滞后,右)
感谢, 李
编辑:? 我仍然有这个麻烦。我创建的按钮是以编程方式创建的,所以我无法将其链接到Interface Builder中的第一响应者。有没有办法以编程方式做到这一点?这是我创建inputAccessoryView的代码:
-(void)createInputAccessoryView{
inputAccView = [[UIView alloc]initWithFrame:CGRectMake(10.0, 0.0, [[UIScreen mainScreen] bounds].size.width, 40.0)];
UIToolbar *toolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0.0, 0.0, 320.0, 40.0)];
UIBarButtonItem *doneBttn = [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(endEdit:)];
[toolbar setItems:[NSArray arrayWithObject:doneBttn]];
[inputAccView addSubview:toolbar];
[toolbar release];
[doneBttn release];
}
该按钮指向一个将关闭键盘的方法(在同一个类中)。但是,在关闭键盘之前,我需要调用另一种方法来保存数据(这是在不同的类中)。这是否有助于任何人的理解?
我会建议您减少这个问题的大小,并尝试将其分解成多个问题和/或重新组织它。没有人希望筛选出一段文字,并试图想象你在做什么。 – david 2012-01-10 02:11:29