2016-06-22 11 views
1
selectgroup = [UIButton buttonWithType:UIButtonTypeCustom]; 
selectgroup.frame = CGRectMake(screenWidth/4-23/2, 158, 23, 23) ; 
selectgroup.hidden = NO; 
UIImage *selectgroupimg = [UIImage imageNamed:@"groupicon2.png"]; 
[selectgroup setBackgroundImage:selectgroupimg forState:UIControlStateNormal]; 
//[selectgroup setcontentEdgeInsets : UIEdgeInsetsMake(0, 150, screenWidht/2, 30)]; 
[selectgroup addTarget:self action:@selector(selectgroup:) forControlEvents:UIControlEventTouchUpInside]; 
[self.view addSubview:selectgroup]; 

ボタンのクリック可能領域を(0,150,screenwidth/2,30)に増やしたいとします。 contentEdgeInsetsimageEdgeinsetsを設定しようとしていますが、どちらも機能しません。ボタンのタッチ領域を追加する方法は?

どうすればいいですか?

+0

クリック可能な領域はどういう意味ですか?あなたはどこのボタンをタップしてそのアクションを呼び出すことができます。 –

+0

タッチエリアを増やす –

+0

ボタンの幅を広げたいですか? –

答えて

1

あなたが好きな画像を設定する必要があります(ボタンのプロパティsetImageとsetBackgroundImageの両方が異なる)

UIImage *btnImage = [UIImage imageNamed:@"image.png"]; 
[buttonObject setImage:btnImage forState:UIControlStateNormal];forState:UIControlStateNormal]; 

その後、あなたが望むボタンフレームを設定する

buttonObject.frame = CGRectMake(0,150,screenwidth/2,30); 
0

サブクラスUIButton、またはカテゴリ/拡張,,と、このようにそれを使用します。

-(BOOL) pointInside:(CGPoint)point withEvent:(UIEvent *)event { 
    return CGRectContainsPoint(UIEdgeInsetsInsetRect(self.bounds, UIEdgeInsetsMake(-44, -44, -44, -44)), point); 
} 
+0

何がself.boundsですか? –

+0

@WaitakJong self =あなたのボタン。このメソッドをUIButtonのサブクラスに追加する必要があります。このメソッドは、UIButton機能をオーバーライドします。 – MCMatan

関連する問題