2011-07-19 18 views
4

私は表示用の画像を使用するUIButtonを持っています。UIButtonのクリップ画像

問題は、私の画像が109x78ですが、ボタンを109x20のサイズにし、左上にピンを固定し、20ピクセル以上大きいものをすべてクリッピングするようにします。

UIButton *startTrainingBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
[startTrainingBtn setContentMode:UIViewContentModeTopLeft]; 
[startTrainingBtn setClipsToBounds:YES]; 
[startTrainingBtn setImage:[UIImage imageNamed:@"startTrainingClosed"] forState:UIControlStateNormal]; 
[startTrainingBtn setFrame:CGRectMake(900, 653, 109, 20)]; 
[self.view addSubview:startTrainingBtn]; 

私はYESにTOPLEFTとClipsToBoundsにContentModeを使用して、働いているだろうと思っているだろうが、その代わりに、それはちょうど収まるように画像を縮小している。

は、これは私が今持っているものです。

答えて

0

これは1年前に尋ねられました。私はすでにあなたに伝えたいことをしたと思いますが、それでも記録のためにこれを残しておきましょう: 適切なサイズの画像を使用してください。あなたは、必要な身長の二倍以上のイメージを持っています。

私はこの動作が奇妙に思えるが、それはボタンの画像が処理される方法であると理解している。 しかし、イメージを使用して背景色をパターンに設定することができます。その効果は後に反映されます。

UIButton *startTrainingBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
startTrainingBtn.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"startTrainingClosed"]]; 
[startTrainingBtn setFrame:CGRectMake(900, 653, 109, 20)]; 
[self.view addSubview:startTrainingBtn]; 

この解決策の問題は、あなたが別の状態に異なる画像を設定したり、ボタンで選択した効果を持つことができないということです。

関連する問題