0

UIBarButtonItem画面の一番左にハグしたいのがあります。ボタンと他の構成の前にwidth=0barbuttonで固定を配置しようとしましたが、ボタンとx=0の間に常にいくつかのピクセルがあります。

の変更も試みましimageInsetUIButton

UIButton *moreButton = [UIButton buttonWithType:UIButtonTypeCustom];
moreButton.frame = CGRectMake(0, 0, 60, 35);
[moreButton setImage:[UIImage imageNamed:@"Morebutton"] forState:UIControlStateNormal];
moreButton.imageEdgeInsets = UIEdgeInsetsMake(0, -8, 0, 8);
[moreButton addTarget:self action:@selector(pressedMoreButton:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *moreBar = [[[UIBarButtonItem alloc] initWithCustomView:moreButton] autorelease];

ただし、画面の端近くをタップしても はトリガーされずselector(おそらく画像のみが移動され、ボタン自体は移動されないため)、ボタンの を大きくしても、ボタンと左側の間のギャップには影響sizeしません。

ありがとう

4

1 に答える 1

0

ボタンをコンテナビューに配置し、ビュー上のボタンの位置を変更してみてください。

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button setBackgroundImage:buttonImage forState:UIControlStateNormal];   
    button.contentMode = UIViewContentModeScaleAspectFit;       
    button.frame= CGRectMake(-4.0, 0.0, 30, 30);
    [button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];

    UIView *v=[[[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, cellTextSize.width+10, buttonImage.size.height)] autorelease];
    v.backgroundColor = [UIColor clearColor];
    [v addSubview:button];

    return [[[UIBarButtonItem alloc] initWithCustomView:v] autorelease];
于 2012-11-13T06:51:37.863 に答える