【发布时间】:2012-06-23 15:04:10
【问题描述】:
我是这方面的新手,我想得到一些建议,因为我不知道我做错了什么。
我想在 xcode 中制作一个应用程序,带有带有一些项目的UIView,当你做某事时,另一个UIView(比第一个小)会在第一个UIView 上方弹出。弹出窗口UIView 将是一个自定义类。
我从UIViewController 模板和初始UIView 开始,我已经链接了.storyboard 中的所有项目,并且它可以工作。但是当我创建自己的UIView 类(from objective-C class) 时,将第二个UIView 放在storyboard 中的第一个之上并将其链接到我的类时,出现了问题。
UIView 出现了,但是当我尝试将其设置为隐藏时,它没有响应。好像它没有收到消息,所以我认为我没有以编程方式很好地链接它,只是因为storyboard 而出现。
我不知道我是否必须创建另一个 UIViewController 而不是 UIView,或者这是否是正确的路径。
谁能给我解释一下,或者只是写一点代码 sn-p 与第二个视图的实例化并添加它?
非常感谢!!
(我粘贴了一些代码,在 .h 中的声明和在 .m 中的实例化)
#import <UIKit/UIKit.h>
#import "EditView.h"
@interface ReleaseViewController : UIViewController <UIWebViewDelegate, UISearchBarDelegate> {
IBOutlet UIWebView *web;
IBOutlet UISearchBar *search;
IBOutlet EditView *evHack;
}
@property (nonatomic, retain) IBOutlet UIWebView *web;
@property (nonatomic, retain) IBOutlet UISearchBar *search;
@property (nonatomic, retain) IBOutlet EditView *evHack;
@end
- (void)viewDidLoad
{
[super viewDidLoad];
search.delegate = self;
web.delegate = self;
evHack = [evHack initWithFrame:CGRectMake(0, 44, 320, 377)];
[evHack setHidden:YES];
}
EditView 类(我还是什么都没有):
#import <UIKit/UIKit.h>
@interface EditView : UIView
@end
#import "EditView.h"
@implementation EditView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
NSLog(@"View created");
}
return self;
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
}
*/
@end
【问题讨论】:
-
查看代码会很有帮助,否则它可能会导致它无法正常工作的多种原因中的任何一种。
-
完成 :) 我已将所有内容都链接到情节提要中。
标签: iphone uiview uiviewcontroller