我没有在iPhone上编程很长时间,但是我通过Google搜索问题慢慢地把它拿起来。不幸的是,我无法找到答案。
我在Xcode 3.2.2中启动了一个新的基于View的应用程序,并立即添加了以下文件: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..?
}
我看不到如何发布附件,但如果有人认为这有助于我上传来源。
非常感谢, 安迪
答案 0 :(得分:1)
drawRect
:用于自定义绘图。你不会经常需要这样做。在发送drawRect
:之前,您的按钮不会被绘制,可能在运行循环的下一次迭代中(即,当您单击视图时)。
如果您想在视图上使用按钮,请使用IB将其拖动到该按钮,或将代码从drawRect:
移至viewDidLoad
。
您可以通过以下方式从视图控制器中显示模态视图:
[self presentModalViewController:viewController animated:YES];
在按钮发送给视图控制器的操作方法中执行此操作。这应该向您表明您需要查看您的应用程序设计。