こんにちは、ユーザーが画面をタップしたポイントにボタンを追加しようとしています。
これが私のUIViewファイルのコードです
- (void)drawRect:(CGRect)rect {
// Drawing code
NSLog(@"drawRect, %i, %i", firstTouch.x, firstTouch.y);
[tagButton drawRect:CGRectMake(firstTouch.x, firstTouch.y, 100, 200)];
[self addSubview:tagButton];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
firstTouch = [touch locationInView:self];
[self setNeedsDisplay];
}
これはfirstTouchからのログです
2009-10-01 17:27:23.743 テキスト[2521:207] drawRect、0、1080311808
タッチの x、y ポイントを取得し、そのポイントに uibutton を作成するにはどうすればよいですか?
助けていただければ幸いです、ありがとう
これは私が思いついたもので、ビューにボタンを追加します。しかし、このビューをポップするとクラッシュします。問題が見つからないようです。誰が問題が何であるかを見ることができますか?
UIButton *newButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[newButton setFrame:CGRectMake(self.firstTouch.x, self.firstTouch.y, width, 17)];
[newButton setTitle:[textField text] forState:UIControlStateNormal];
[newButton setFont:[UIFont boldSystemFontOfSize:12]];
[newButton setShowsTouchWhenHighlighted:YES];
[newButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[newButton setTitleShadowColor:[UIColor blackColor] forState:UIControlStateNormal];
[newButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
[newButton setContentVerticalAlignment:UIControlContentVerticalAlignmentCenter];
[newButton setBackgroundColor:[UIColor clearColor]];
UIImage *bgImg = [[UIImage imageNamed:@"button_greyblue.png"] stretchableImageWithLeftCapWidth:15.0 topCapHeight:0.0];
[newButton setBackgroundImage:bgImg forState:UIControlStateNormal];
[self setTagButton:newButton];
[self.view addSubview:tagButton];
[newButton release];