1

サイドメニューがあるアプリがあります。サイド メニューでは、残りのボタンは正常に表示されますが、2 つのボタンが奇妙に伸びています。スクリーンショットスクリーンショットを添付。

これは、ボタン画像を設定する方法です。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *simpleTableIdentifier = @"SimpleTableItem";

    RearViewTableViewCell *cell = [self.tableViewSideMenu dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if(cell == nil)
    {

        NSArray *cellView = [[NSBundle mainBundle] loadNibNamed:@"RearViewTableViewCell" owner:nil options:nil];
        cell = (RearViewTableViewCell *)[cellView objectAtIndex:0];
        cell.btnItemSelector.tag = indexPath.row;
        [cell.btnItemSelector setBackgroundImage:[UIImage imageNamed:[buttonUnselect objectAtIndex:indexPath.row]] forState:UIControlStateNormal];
        [cell.btnItemSelector setBackgroundImage:[UIImage imageNamed:[buttonSelect objectAtIndex:indexPath.row]] forState:UIControlStateHighlighted];
        [cell.btnItemSelector addTarget:self action:@selector(btnMenuItemTapped:) forControlEvents:UIControlEventTouchUpInside];
        cell.selectionStyle =UITableViewCellSelectionStyleNone;

    }
    return cell;

}

アダプティブレイアウトは初めてです。それは問題を引き起こしていますか?iPhone 5s では正常に動作しますが、iPhone 6 ではこの動作を示しています。テーブルビューに制約 (幅) を 1 つだけ追加しました。ここで使用している uitableviewcell (カスタム) には、先行スペース、垂直スペース、中央揃えなどのすべての通常の制約があります。何か考えはありますか?

更新: bg の色を赤に設定すると、質問の 2 つのボタンがサイズ変更されて、はるかに小さく、おそらくより広いビューになることがわかりました。なぜそれが起こるのでしょうか?アップデート

4

3 に答える 3

1

button.imageの代わりに使用することをお勧めしますbutton.backgroundImage。backgroundImage を に設定すると、常に がと同じサイズに引き伸ばされるため、画像UIButtonの を処理できないようです。contentModeUIImageUIButton

に を追加するUIImageと、を手動で変更するか、 内property imageで画像の位置を変更できます。UIButtoncontentEdgeInsetsInterface Builder

UIImageだけでなく もに設定したい場合に備えNSStringて、andを使用してUIButtonタイプの独自のクラスを作成し、それらを 内にレイアウトします。UIButtonUILabelUIImageInterface Builder

于 2015-01-09T09:39:11.757 に答える
0

さて、これで問題が解決した理由はよくわかりませんが、解決しました。

1) setBackgroundImage ではなく setImage を使用しました。

2) 画像名から接尾辞 .png を削除しました。

3) プロジェクトをクリーンアップし、シミュレーターをリセットしました。

4) うまくいきました。

おそらく、キャッシュにはまだ ? 画像のサイズに合わせてボタンのサイズを変更したシンボルですが、よくわかりません。他の誰かがこれについてより良い説明を投稿できる場合は、回答としてマークします

于 2015-01-09T09:30:50.967 に答える