2017-02-17 7 views
-1

私はプログラム的にこれを複製しようとしています:適切な自動サイズ変更マスク設定

enter image description here

私は多くの混乱は、Appleがこれをどのように処理するかにあります見てきました。私は以下を試しましたが、それは私のためには機能しません:

[buttonTop setAutoresizingMask:UIViewAutoresizingFlexibleHeight]; 

ここからどこへ行くべきですか?

更新:次のように

私のボタンのコードは次のとおりです。

buttonTop = [UIButton buttonWithType:UIButtonTypeCustom]; 
buttonTop.frame = CGRectMake(0, 0, 100, 100); 
buttonTop.center = self.view.center; 
buttonTop.layer.cornerRadius = buttonTop.frame.size.width/2; 
buttonTop.clipsToBounds = YES; 
buttonTop.layer.masksToBounds = YES; 
[buttonTop setAutoresizingMask:UIViewAutoresizingFlexibleHeight]; 

if (GetUserProPic){ 
    [buttonTop sd_setImageWithURL:[NSURL URLWithString:GetUserProPic] forState:UIControlStateNormal]; 
    [buttonTop sd_setImageWithURL:[NSURL URLWithString:GetUserProPic] forState:UIControlStateSelected]; 
} else { 
    [buttonTop setImage:[UIImage imageNamed:@"avatar_icon"] forState:UIControlStateNormal]; 
    [buttonTop setImage:[UIImage imageNamed:@"avatar_icon"] forState:UIControlStateSelected]; 
} 

[self.view addSubview:buttonTop]; 

出力は次のようになります。

enter image description here

しかし、私はそれを希望します次のようになります。

enter image description here

+0

あなたは、それ以上を除いて、自動サイズ変更マスクを使用するべきではありません従来のアプリケーションでは、実際には自動レイアウトに更新する必要があります。 –

+0

@DuncanC私は同意しません。利用可能なさまざまなツールがあります。特定の状況で動作するものを使用します。マスクの自動サイズ変更には何も問題はありません。 – rmaddy

+0

@jape「うまくいかない」という意味を明確にする必要があります。また、ボタンの作成方法と設定方法について詳しく説明します。コメントではなく、あなたの質問にすべての情報を入れてください。 – rmaddy

答えて

0

ボタンのautoResizeMaskは、ボタンを含むビューのサイズが変更されたときにボタンのサイズに影響します。ボタン内のコンテンツには影響しません。 (そして、私は、必要に応じて、デフォルトの設定は、画像を縮小すると思いますが、それを拡張しません。)このことから

てみコードがSOに答える:How do I scale a UIButton's imageView?

buttonTop.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill; 
+0

うまくいかなかった:(ありがとう! – jape

関連する問題