2013-10-27 14 views
0

请帮助推送在UIImageView框架中添加的照片。照片不适合框架。我在“IOS编程:大书呆子牧场指南”第12章“相机”中做出了相同的操作。添加照片之前:https://www.dropbox.com/s/o0uypvspuhvlkm2/Screen%20Shot%202013-10-27%20at%205.08.39%20PM.jpg添加之后:https://www.dropbox.com/s/u6qffb1l941cb0v/Screen%20Shot%202013-10-27%20at%205.09.02%20PM.jpg我试过setContentMode UIImageView - 不起作用。这是我的代码:添加的照片不适合UIImageView的框架

#pragma mark UIActionSheetDelegate 

- (IBAction)displayActionSheet:(id)sender 
{ 
    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil 
                  delegate:self 
                cancelButtonTitle:@"Cancel" 
               destructiveButtonTitle:nil 
                otherButtonTitles:@"Take photo", @"Choose photo from gallery", nil]; 

    actionSheet.actionSheetStyle = UIActionSheetStyleDefault; 
    [actionSheet showInView:self.view]; 
} 

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    switch (buttonIndex) { 
     case 0: 
      [self takePhoto]; 
      break; 
     case 1: 
      [self choosePhoto]; 
      break; 
    } 
} 

#pragma mark UIImagePickerControllerDelegate 

- (void)takePhoto { 
    UIImagePickerController *pickerControllerTakePhoto = [[UIImagePickerController alloc] init]; 
    [pickerControllerTakePhoto setSourceType:UIImagePickerControllerSourceTypeCamera]; 
    [pickerControllerTakePhoto setDelegate:self]; 
    [self presentViewController:pickerControllerTakePhoto animated:YES completion:nil]; 
} 

- (void)choosePhoto { 
    UIImagePickerController *pickerControllerChoosePhoto = [[UIImagePickerController alloc] init]; 
    [pickerControllerChoosePhoto setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; 
    [pickerControllerChoosePhoto setDelegate:self]; 
    [self presentViewController:pickerControllerChoosePhoto animated:YES completion:nil]; 
} 

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    UIImage *myPhoto = [info objectForKey:UIImagePickerControllerOriginalImage]; 
    [photoView setImage:myPhoto]; 
    [self dismissViewControllerAnimated:YES completion:NULL]; 
} 

我“加”或“添加”与对话框按钮调用的动作片,所以我选择从画廊和结果的照片就像是在第二个屏幕。

+0

是'photoView'真是的UIImageView? – SAE

+0

是的,'__weak IBOutlet UIImageView * photoView;' –

+0

Second screenshot:这是你吗? – Mundi

回答

0

设置图像视图的属性:

imageView.clipsToBounds = YES; 
imageView.contentMode = UIViewContentModeScaleAspectFill; 

两者都可以在界面生成器被设置。

+0

不工作,具有设置属性和添加代码在' - (无效)imagePickerController:(UIImagePickerController *)选择器didFinishPickingMediaWithInfo:(NSDictionary *)信息' –

0

所以我发现其中扰乱我的代码行,因为这是我整理我的tableview我定制单元的这一切:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *cell = nil; 
    if (indexPath.row == 0) { 
     photoView = (UIImageView *)[photoCell viewWithTag:1]; // this is the first custom cell in my tableview and this line which I put on the model of the book isn't needed 
     cell = photoCell; 
............................... 
+0

很高兴你找到它。 –