【发布时间】:2011-07-28 04:35:45
【问题描述】:
我想用 iPhone 相机拍一些照片,然后像一堵墙一样展示它们(连续 4 张图像)。然后我可以选择其中一些来使用。有人帮忙吗?非常感谢!
【问题讨论】:
我想用 iPhone 相机拍一些照片,然后像一堵墙一样展示它们(连续 4 张图像)。然后我可以选择其中一些来使用。有人帮忙吗?非常感谢!
【问题讨论】:
您可以使用自定义按钮代替uiimageviews
您可以使用此代码在相机按钮中添加图像。
- (void)selectPhotos
{
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.delegate = self;
[self presentModalViewController:picker animated:YES];
[picker release];
}
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)image
editingInfo:(NSDictionary *)editingInfo
{
[button setImage:image forState:UIControlStateNormal];
[[picker parentViewController] dismissModalViewControllerAnimated:YES];
}
然后在选择器方法中,您可以像这样从按钮中检索图像
button.imageView.image
【讨论】:
或者...你可以只使用 UIImageViews
-(void)DrawImageViews:(UIImage*)fImage{
float start_X=2.0;
float start_Y_image=2.0;
for(int idx=0;idx<12;idx++)
{
UIImageView *imageView = [ [ UIImageView alloc ] initWithFrame:CGRectMake(start_X, start_Y_image, 78, HEIGHT)];
imageView.image=fImage;
[self addSubview:imageView];
[imageView release];
if((idx+1)%4==0 && idx!=0) {
start_X=2.0;
start_Y_image += HEIGHT+2;
}
else
start_X += 78 + 2;
}}
在这里,我已经绘制了 12 次相同的图像,并在两侧保留了 2 的填充。然后,您可以使用委托方法找到被点击的行和列:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch =[touches anyObject];
CGPoint currentPoint =[touch locationInView:self];
NSInteger column = ((NSInteger)((currentPoint.x)/80) + 1);
NSInteger row = ((NSInteger)((currentPoint.y)/(HEIGHT + 2) + 1);}
我在这里本地声明了行和列。您必须从外部访问!
【讨论】: