我一直没有在iPhone上编程很长时间,但我通过Google搜索问题缓慢地捡起它。不幸的是,我一直无法找到这些答案。我与UIButton和UIView有两个问题
我已经在Xcode 3.2.2中启动了一个新的基于视图的应用程序,并立即添加了以下文件:myUIView.m和myUIView.h,它们是UIView的子类。在Interface Builder中,我将默认UIView的子类设置为myUIView。
我在drawRect方法中做了一个按钮。
问题一:按钮的标题只出现后,我点击屏幕,为什么?
问题二:我想让按钮产生模态视图 - 这可能吗?
的代码如下:
#import "myUIView.h"
@implementation myUIView
- (void)drawRect:(CGRect)rect {
// Drawing code
button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(0,0,100,100);
[button setTitle:@"butty" forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:button];
}
-(void)buttonPressed:(id)sender{
NSLog(@"Button pressed");
//present modal view somehow..?
}
我看不出如何上传附件,但如果有人认为这将有助于我可以上传源。
非常感谢, 安迪
好的,这是一个好方法。它似乎绘制的按钮和背景颜色,只是不是标题或背景图像... 我的第二个问题的任何想法? 谢谢,A – Andy 2010-04-10 18:47:33
编辑回答... – 2010-04-10 18:57:39
看来,viewDidLoad不是UIView的一个子类响应的方法。我把这个按钮放在awakeFromNib中。我的代码现在看起来像这样: - (void)buttonPressed:(id)sender { \t newNib * myModalVC = [[newNib alloc] init]; \t [self presentModalViewController:myModalVC animated:YES]; } 然而,这并不为工作“‘myUIView’不能为‘-presentModalViewController:动画:’回应” ...... 该项目需要进行动态生成的按钮,所以我想他们必须作出在UIView子类,但我不能调用模态视图,因为这需要一个UIViewController .. *卡住: - ?* – Andy 2010-04-10 21:01:00