我与UIButton和UIView有两个问题

时间:2010-04-10 17:06:33

标签: iphone uiview uiimage modal-dialog

我没有在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..?
}

我看不到如何发布附件,但如果有人认为这有助于我上传来源。

非常感谢, 安迪

1 个答案:

答案 0 :(得分:1)

drawRect:用于自定义绘图。你不会经常需要这样做。在发送drawRect:之前,您的按钮不会被绘制,可能在运行循环的下一次迭代中(即,当您单击视图时)。

如果您想在视图上使用按钮,请使用IB将其拖动到该按钮,或将代码从drawRect:移至viewDidLoad

您可以通过以下方式从视图控制器中显示模态视图:

[self presentModalViewController:viewController animated:YES];

在按钮发送给视图控制器的操作方法中执行此操作。这应该向您表明您需要查看您的应用程序设计。