我需要更改 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,previos 代码后的结果为:
http://i46.tinypic.com/v4ck20.png
我需要 25 x 25 像素的图像,就像我设置的 imageView 的边界一样。有谁能够帮助我?