Iphone insertSubview:AtIndex:不起作用
我查阅了有关这个问题的资料,但仍然不能完全弄清楚。 主要问题是,我正在使用此方法,但视图没有显示。。。 该应用程序由两个视图组成-主视图我将其作为子视图添加到主nib中- 有一个文本字段,我在其中写入一些文本。 有一个按钮,按下该按钮时,action方法将加载第二个视图,该视图中有一个标签,其中包含一些文本。 第一个viewController的源代码:Iphone insertSubview:AtIndex:不起作用,iphone,objective-c,subview,Iphone,Objective C,Subview,我查阅了有关这个问题的资料,但仍然不能完全弄清楚。 主要问题是,我正在使用此方法,但视图没有显示。。。 该应用程序由两个视图组成-主视图我将其作为子视图添加到主nib中- 有一个文本字段,我在其中写入一些文本。 有一个按钮,按下该按钮时,action方法将加载第二个视图,该视图中有一个标签,其中包含一些文本。 第一个viewController的源代码: #import <UIKit/UIKit.h> @class TxtRunnerViewController; @interf
#import <UIKit/UIKit.h>
@class TxtRunnerViewController;
@interface Itai_s_text_app_take_2ViewController : UIViewController {
int sliderSpeed;
IBOutlet UITextField *textInput;
TxtRunnerViewController *trvc;
}
@property (nonatomic, retain) IBOutlet UITextField *textInput;
@property (retain, nonatomic) TxtRunnerViewController *trvc;
- (IBAction)sliderChanged:(id)sender;//speed of text show changed
- (IBAction)textFieldDoneEditing:(id)sender;//dor 'DONE' on keyboard
- (IBAction)backgroundTap:(id)sender;//for handling tapping on background
- (IBAction)textEmButtonPressed:(id)sender;
@end
第二个视图为空,并在其nib文件中添加了一个标签:
进口
@interface TxtRunnerViewController : UIViewController {
}
@end
它的.m文件是默认文件,没有添加任何代码。
当我在第一个视图中按下按钮时,它的视图消失了,但第二个视图没有出现,只有一个空白的白色视图出现,上面没有任何内容
能源部该行:
[self.view removeFromSuperview]
从其超级视图中删除视图
然后电话
[self.view insertSubview:trvc.view atIndex:0];
将trvc添加到其中-但该视图已被删除,不再可见
您需要将trvc添加到superview。如果您按下TxtRunnerViewController,它将完全隐藏第一个,但它仍存在于后台。不从SuperView移除
TxtRunnerViewController *vw = [[TxtRunnerViewController alloc]initWithNibName:@"TxtRunner" bundle:nil];
[self.view pushViewController:vw.view animated:NO];
[vw release];
要删除第一个视图,有点困难。您需要在RootViewController中实现一个委托,该委托将在单击第一个视图的“完成”按钮后被激发。然后在RootViewController中执行一些代码,显示第二个视图并删除第一个视图
对于代理示例,请在创建新项目时打开实用程序应用程序示例,了解其工作原理或在线搜索一些示例。请将您的代码格式化为输入上方的代码示例{}或Ctrl+K。对于不便之处,代码:如何编写代码,以便显示导入并缩进代码,行结束了,新的行被识别了吗?正如我在上面写的,使用{}按钮或者选择文本,然后在Mac cmd+KI上按Ctrl+K,我有点困惑,jamihash-我该怎么做呢?我认为使用InsertIndex就可以做到这一点。尝试了[super.view insertSubview…]-也得到了一个空白的iphone屏幕;它应该会起作用。如果需要删除self视图,则必须将trvc视图插入到其他视图中,而不是self,但现在请删除[self.view removeFromSuperview];是的,我做到了,而且成功了,现在我从自己身上看到了这两个元素。视图和来自trvc视图nib的视图。。。我真的错过了一些东西…非常抱歉进一步询问,但我相信我的问题也涉及到设计问题:
TxtRunnerViewController *vw = [[TxtRunnerViewController alloc]initWithNibName:@"TxtRunner" bundle:nil];
[self.view pushViewController:vw.view animated:NO];
[vw release];