我一直沒有在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