ActionSheet の imageView プロパティの境界を変更する必要があります。
<!-- language: lang-c -->
#pragma UIActionSheetDelegate Methods
- (void)willPresentActionSheet:(UIActionSheet *)actionSheet {
/*[[[actionSheet valueForKey:@"_buttons"] objectAtIndex:0] imageView].frame = CGRectMake(0, 0, 25.0f, 25.0f);*/
[[[actionSheet valueForKey:@"_buttons"] objectAtIndex:0] imageView].bounds = CGRectMake(0, 0, 25.0f, 25.0f);
/*UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 25.0f, 25.0f)];
imgView.image = [UIImage imageNamed:@"symbol-pin.png"];
[[actionSheet superview] addSubview:imgView];*/
}
コーディング後は何も起こりません:
[[[actionSheet valueForKey:@"_buttons"] objectAtIndex:0] imageView].bounds = CGRectMake(0, 0, 25.0f, 25.0f);
ここにActionSheetを作成するためのコード
<!-- language: lang-c -->
- (IBAction)showModeOptions:(id)sender {
if (!modeOptions) {
modeOptions = [[UIActionSheet alloc]initWithTitle:@"" delegate:self cancelButtonTitle:@"Abbrechen" destructiveButtonTitle:nil otherButtonTitles:@"Pin",@"Linie", @"Polygon", nil];
[[[modeOptions valueForKey:@"_buttons"] objectAtIndex:0] setImage:[UIImage imageNamed:@"symbol-pin.png"] forState:UIControlStateNormal];
[[[modeOptions valueForKey:@"_buttons"] objectAtIndex:1] setImage:[UIImage imageNamed:@"symbol-line.png"] forState:UIControlStateNormal];
[[[modeOptions valueForKey:@"_buttons"] objectAtIndex:2] setImage:[UIImage imageNamed:@"symbol-polygon.png"] forState:UIControlStateNormal];
modeOptions.actionSheetStyle = UIActionSheetStyleBlackTranslucent;
}
[modeOptions showFromTabBar:self.tabBarController.tabBar];
}
画像は 88 x 88px で、前のコードの後の結果は次のとおりです。
http://i46.tinypic.com/v4ck20.png
そして、設定した imageView の境界のように、25 x 25 px の画像が必要です。誰でも私を助けることができますか?